Narzędzia PHP - zastosowania i komercja

W rozwoju komercyjnych narzędzi PHP największy udział ma firma Zend, założona przez twórców tej technologii.

W rozwoju komercyjnych narzędzi PHP największy udział ma firma Zend, założona przez twórców tej technologii.

PHP 4.0 to język skryptowy dostępny na zasadach open source i licencji GPL, służący do tworzenia dynamicznych stron HTML, działających na serwerze WWW. Ideą twórców PHP było opracowanie języka, który w najprostszy sposób zapisuje kod do tworzenia dynamicznych stron. W krótkim czasie do projektu dodano olbrzymią liczbę różnych funkcji API - począwszy od takich, które służą do obsługi baz danych (zdaniem wielu, PHP ma najbardziej wygodną obsługę baz danych wśród wszystkich technologii do generowania dynamicznych stron WWW), przez specjalne narzędzia do tworzenia rysunków w locie, skończywszy na zaawansowanych mechanizmach przetwarzania tekstów czy wykonywania obliczeń.

Do niedawna nie było narzędzi ułatwiających tworzenie witryn z wykorzystaniem PHP. Programista zdany był na edytor tekstowy i własną wyobraźnię. Trudności sprawiało usuwanie błędów w kodzie. Mimo że w motorze PHP są zawarte elementy pozwalające na stworzenie debuggera, to dość długo trzeba było czekać na środowisko, w którym byłoby możliwe np. wykonanie kodu PHP krok po kroku czy oglądanie zmiennych w czasie działania kodu witryny. Wadą PHP była wolna praca motoru przy dużym obciążeniu serwera. Brakowało narzędzi pozwalających chronić własność intelektualną i ukryć sposób realizacji rozwiązania przed użytkownikiem.

Obecnie za komercyjny rozwój PHP odpowiada firma Zend, założona przez głównych autorów PHP. Niedawno wprowadzili oni produkty przydatne w tworzeniu profesjonalnych rozwiązań internetowych wykorzystujących PHP.

Narzędzia Zend

Firma Zend wprowadziła trzy narzędzia: ZendCache, ZendEncoder i Zend IDE/debugger, a także darmowy Zend-Optimizer.

Głównym elementem PHP jest tzw. ZendEngine, specjalny motor skryptowy odpowiedzialny za analizę składni stron PHP. ZendEngine jest wieloplatformowym motorem odpowiedzialnym m.in. za zarządzanie pamięcią czy pewne podstawowe operacje leksykograficzne itp. W pewnym sensie przypomina Visual Basic for Applications, który może być wykorzystywany w wielu różnych narzędziach (to produkt niezależny od PHP).

Gdy komputer kliencki zażąda strony od serwera WWW, ZendEngine analizuje ją i wczytuje cały kod PHP do prywatnego (dla danego połączenia) obszaru pamięci, po czym kompiluje go do specjalnego kodu pośredniego. Następnie kod ten jest wykonywany, a strona zwracana klientowi. Warto podkreślić, że w PHP 3.0 interpretacja skryptów odbywała się "linia za linią", co sprawiało, że w zasadzie nie była możliwa bardziej zaawansowana optymalizacja kodu wykonywalnego. Organizacja przetwarzania w PHP 4.0 pozwala nawet na stosowanie bardziej zaawansowanych "dodatków", które w określony sposób zmodyfikują optymalizację kodu. Jednym z nich jest bezpłatny ZendOptimizer, będący modułem plug-in, który zawiera bardziej wyrafinowane algorytmy niż w PHP 4.0.

Co ciekawe, PHP 4.0 jest dostępne razem z kodem źródłowym, a bardziej wydajny motor optymalizacyjny - tylko w postaci kodu wykonywalnego: na różne platformy (Linux, Solaris, FreeBSD i Windows NT/2000). Nie są nazwane poszczególne metody optymalizacji. Administrator może tylko włączać odpowiednią "liczbę przejść" algorytmów.

Należy podkreślić, że wersja darmowa ZendOptimizer nie zawsze przyspieszy działanie skryptów PHP. Czasami bowiem wielokrotna analiza strony trwa znacznie dłużej niż wykonanie jej od razu. Z tego powodu należy dokładnie testować, czy w konkretnym zastosowaniu warto sięgać po to narzędzie. Generalnie, jeżeli kod wykonuje się długo, przetwarza np. złożone zapytania bazodanowe formatując tabelkę czy wręcz wykonuje obliczenia numeryczne, to zastosowanie ZendOptimizer przyspiesza te działania o ok. 60%. Natomiast w przypadku prostych stron stosowanie tego narzędzia mija się z celem.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200