|
Historia PHP PHP/FI Pierwsza wersja PHP, rozpowszechniana pod nazwą PHP/FI (Personal Home Page/Forms Interpreter), została stworzona przez Rasmusa Lerdorfa w roku 1994 jako zestaw skryptów Perla służący do monitorowania internautów odwiedzających jego witrynę. Gdy ruch stał się zbyt duży, przepisał je w języku C, dodając przy tym nowe opcje. Niedługo później ludzie zaczęli prosić go o możliwość użycia tych narzędzi na swoich stronach, zatem 8 czerwca 1995 roku autor udostępnił publicznie kod źródłowy (PHP Tools 1.0). Już kilka miesięcy później projekt przekształcił się w zalążek znanego obecnie języka programowania, gdy został połączony z innym narzędziem Rasmusa Lerdorfa – Form Interpreter, które dało drugi człon nazwy. W 1997 roku pojawiło się PHP/FI 2.0, posiadające wtedy kilka tysięcy aktywnych użytkowników na całym świecie oraz obsługujące 50 tys. domen. Co ciekawe, wersja ta spędziła większość "życia" na beta testach. Oficjalne wydanie było tylko jedno i ukazało się w listopadzie 1997 roku. PHP 3 W 1997 roku projektem zainteresowali się dwaj izraelscy programiści: Zeev Suraski i Andi Gutmans. Odkryli oni, że PHP/FI ma zbyt małe możliwości jak na potrzeby aplikacji eCommerce, którą tworzyli na uniwersytecie. Zdecydowali wtedy, że przepiszą kod PHP całkowicie od nowa, korzystając z pomocy już istniejącej społeczności PHP. W czerwcu 1998 roku ogłosili PHP 3.0 jako następcę PHP/FI, którego dalszy rozwój został wtedy zatrzymany. Był to wielki krok naprzód. PHP 3.0 posiadało całkowicie nową architekturę, która znacznie zwiększała wydajność. Pojawiły się w niej zalążki programowania obiektowego, ale najważniejszą cechą aplikacji była jej modułowość. Użytkownicy mogli rozszerzać teraz funkcjonalność języka poprzez dodawanie nowych modułów.
PHP 4 Krótko po wydaniu PHP 3, w zimie 1998 Zeev Suraski oraz Andi Gutmans jeszcze raz zabrali się za przepisywanie kodu źródłowego PHP, korzystając z doświadczeń nabytych przy pracach nad poprzednią wersją. Za główne cele obrali poprawienie modułowości oraz wydajności złożonych aplikacji. Choć dotychczasowa wersja potrafiła sobie z nimi poradzić, nie była jednak stworzona do tego celu i przegrywała przez to z innymi rozwiązaniami.
W połowie roku 1999 ukazał się oficjalnie Zend Engine, nowy silnik języka skryptowego, wokół którego niedługo później zaczęto budować PHP 4. Jego nazwa to kompromisowe połączenie imion twórców projektu. Nowa, oparta o niego wersja PHP ukazała się w maju 2000 roku. Tak jak poprzednio, był to potężny krok naprzód. Programiści mieli do dyspozycji teraz wiele nowych narzędzi, konstrukcji językowych oraz bezpieczniejszy system wejścia/wyjścia. Od strony administracyjnej pojawiło się oficjalne wsparcie dla wielu nowych serwerów. Przez cztery lata od chwili wydania ukazały się trzy kolejne edycje tej wersji oznaczone numerami: 4.1, 4.2 oraz 4.3. W każdej z nich odczuwalne było zwiększenie bezpieczeństwa, szybkości działania oraz możliwości. W 2004 roku obsługiwały one łącznie 20% wszystkich domen sieciowych. Również obecnie, dwa lata po premierze PHP 5, "czwórka" jest bardzo chętnie wykorzystywana przez administratorów ze względu na dużą stabilność. PHP 5 W 2002 roku Zeev Suraski oraz Andi Gutmans ponownie rozpoczęli znaczącą modernizację silnika PHP mającą na celu dodanie do tego języka modelu obiektowego na poziomie dorównującym innym, w pełni obiektowym językom. W lutym 2003 ukazała się pierwsza wersja alpha nowej wersji PHP oznaczonej numerem 5.0.0. Stabilna wersja ukazała się prawie półtora roku później, w lipcu 2004 roku. Nowości sprawiły, że PHP stał się rozsądną alternatywą wobec innych nowoczesnych rozwiązań server-side.
Pojawił się całkowicie nowy model programowania obiektowego co spowodowało utratę pełnej kompatybilności z poprzednimi wersjami PHP. W ramach tego modelu, zmieniony został sposób reprezentacji obiektów. W wersjach wcześniejszych obiekt był jednocześnie zmienną, co sprawiało duże trudności, dlatego też w wersji 5 na wzór Javy zmienna obiektowa stała się jedynie referencją do właściwego obiektu. Operacja przypisania (=) powoduje jedynie powstanie drugiej referencji wskazującej na ten sam obiekt. Funkcje obsługi języka XML zostały napisane na nowo i wbudowane bezpośrednio w jądro aplikacji. Jednocześnie oprócz modelu DOM udostępniono SimpleXML – interfejs do zarządzania dokumentami w tym języku. Z powodu zmian licencji autorzy musieli usunąć z kodu własną bibliotekę do komunikacji z bazą MySQL. W związku z tym rozszerzenie MySQL nie jest już wkompilowywane domyślnie – należy je ręcznie doinstalować, korzystając z dostarczonej przez MySQL biblioteki libmysqlclient. Zmiana ta dotyczy również PHP 4. W zamian udostępniono nowy, domyślnie wkompilowany silnik baz danych – SQLite – którego cechą jest to, iż nie wymaga żadnych dodatkowych programów. Biblioteka kliencka jest jednocześnie jego serwerem. 24 listopada 2005r. ukazała się wersja PHP 5.1, w której pojawił się z dawna oczekiwany, wbudowany sterownik baz danych, oraz dodano możliwość wymuszenia tablicy jako typu parametru funkcji – jeśli funkcja korzystająca z tej możliwości otrzyma w takim parametrze zmienną innego typu, interpreter PHP zgłosi błąd krytyczny. PHP 6 W połowie roku 2005 zaczęły pojawiać się oficjalne sygnały, że rozpoczęto wstępne prace nad PHP 6. W stanie na lipiec 2006 wersja ta znajduje się w fazie produkcyjnej (dostępne są publiczne snapshoty w wersji źródłowej oraz binarnej dla systemów Windows). Lista TODO obejmuje:
Wbudowane wsparcie dla Unicode Likwidacja trybu safe_mode Likwidacja Magic quotes oraz Register globals jako archaizmów. Likwidacja trybu kompatybilności z Zend Engine 1. Włączenie do jądra rozszerzenia Advanced PHP Cache umożliwiającego cache'owanie generowanego przez kompilator bytecode'u. Implementacja instrukcji goto za pomocą break. Dodanie obsługi 64-bitowych liczb całkowitych. Konstruktory mogą być częścią interfejsu. Zmiany w statusie wielu rozszerzeń. Dodanie przestrzeni nazw. Przepisanie na nowo systemu kontroli wyjścia. Wbudowana ochrona przed atakami typu "HTTP Response Splitting".
|