webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> artykuły >> pozostałe

Dlaczego PHP5 rządzi?

autor: Bartosz 'regua' Reguła, ostatnia modyfikacja: 2007-03-15

szukaj: OOP OOP XML XML MySQL MySQL SQLite SQLite SOAP SOAP Tidy Tidy PHP PHP

Autorem poniższego artykułu jest Adam Trachtenberg,
autor książki "Upgrading to PHP 5"

Autorem tłumaczenia jest regua.
Zobacz oryginalny artykuł, "Why PHP5 rocks!"

PHP5, wydane już w 2004 roku, jest pierwszą wersją PHP stawiającą na nowe funkcje, a nie ulepszanie starych.

Podczas gdy jednym z głównych celów PHP3 było zwiększenie wydajności PHP/FI 2.0, w tym samym czasie wprowadziło ono zupełnie nowy sposób działania PHP. Miało to miejsce w 1998 roku.

PHP4 znacznie poprawiło szybkość języka poprzez wprowadzenie Zend Engine. Jednakże główne zmiany w najnowszej (wtedy) wersji PHP przyszły prawie niezauważone. A to właśnie one pozwoliły większej ilości osób używać PHP – chociaż nie zapewniły im więcej narzędzi do tworzenia ich stron w Internecie.

W końcu PHPowo-Zend'owa społeczność zdała sobie sprawę, że jednak to PHP4 nie jest idealne... i wzięła się do roboty.

Szczególnie programowaniu zorientowanemu obiektowo (OOP) w PHP4 brakuje wielu funkcji, rozszerzenie MySQL nie obsługuje protokołu klienta MySQL 4.1, a wsparcie dla XML jest strasznie poplątane.

Na szczęście PHP5 poprawia PHP4 w trzech głównych kwestiach:

Powyższe elementy języka zostały ponownie napisane od podstaw, zmieniając się w jedne z najbardziej udanych części PHP. Podczas gdy te zmiany gwarantują nam nową wersję PHP (więcej na pornel.net), PHP5 zaskoczy nas też wieloma innymi, nowymi cechami.

W tym artykule przedstawię siedem moich ulubionych zmian w PHP5. Cechy te często pozwolą ci pisać bardziej elegancki, krótszy i bardziej kompatybilny kod niż kiedykolwiek wcześniej.

1. Wsparcie dla programowania obiektowego

Od czasu hacku OOP Zeev'a i Andi'ego, programiści PHP chcieli dostać więcej funkcji dla programowania obiektowego. Ani PHP3, ani PHP4 nie zapewniły im tego. Używając PHP5, programiści mogą przynajmniej przestać narzekać na wsparcie dla OOP w PHP, gdyż oferuje ono:

Oprócz tego, obiekty są teraz zarówno przypisywane, jak i przekazywane przez referencje zamiast wartości, więc nie musisz już używać ampersandów (&) w takich ilościach, jak wcześniej.

Jeśli lubisz używać obiektów i wzorców projektowych, te cechy z pewnością cię ucieszą. Jednak to nie wszystko, co PHP5 ma do zaoferowania.

2. Rozszerzenie MySQL

Bazy danych MySQL są nieodłącznym "wspólnikiem" PHP. Wiele stron jest opartych na tym systemie relacyjnych baz danych, więc rozszerzenie MySQL jest niezbędne.

Najnowsze wersje MySQL, 4.1 i 5.0, wprowadzają wiele zmian, z których część wymaga znacznych zmian w rozszerzeniu – w związku z czym PHP5 wprowadza przepisane od podstaw (i poprawione) rozszerzenie MySQL, nazwane MySQLi od MySQL Improved (poprawione MySQL). Oferuje ono:

MySQLi korzysta nawet ze wsparcia PHP5 dla programowania zorientowanego obiektowo i umożliwia wprowadzenie interfejsu OO (zorientowanego obiektowo) do MySQL. W dodatku najnowsze wersje MySQL pozwalają korzystać z podselekcji, transakcji i replikacji.

3. Interoperacyjne narzędzia XML

W PHP5 poprawiono główne problemy z rozszerzeniami XML w PHP4. O ile starsza wersja PHP pozwalała ci manipulować XML, jej narzędzia prawie nie były ze sobą powiązane. Każde z nich pozwalało ci zapanować nad różnymi częściami Extensible Markup Language, ale nie były one stworzone do wspólnej pracy i wsparcie PHP4 dla bardziej zaawansowanych właściwości nie jest idealne.

PHP5 na szczęście wynagrodziło nam to.

Nowe rozszerzenia XML:

Ponadto, zgodnie z zasadą PHP, że tworzenie aplikacji internetowych powinno być łatwe, stworzono nowe rozszerzenie XML ułatwiające czytanie i edycję dokumentów XML. Stosownie nazwane rozszerzenie SimpleXML pozwala na interakcję z informacjami w dokumencie XML jak gdyby te informacje były tablicami i obiektami, czytanie ich przez pętle foreach oraz ich edycję przez przypisywanie zmiennym nowych wartości.

Jeśli znasz format dokumentu zanim zaczniesz go edytować, np. podczas parsowania plików RSS, wyników REST i danych konifguracyjnych, SimpleXML jest idealnym rozwiązaniem.

A jeśli jesteś fanem DOM, będziesz zapewne zaskoczony rozszerzeniem DOM w 5. wersji PHP – o niebo lepszym od tego, co używałeś w PHP4.

4. Wbudowane bazy danych z SQLite

MySQL jest teraz lepsze niż kiedykolwiek, lecz cały czas zdaje się być zbyt duże dla niektórych rozwiązań. SQLite jest wbudowaną biblioteką baz danych pozwalającą na przechowywanie danych i wykonywanie na nich zapytań korzystając z interfejsu SQL, a bez instalacji żadnych oddzielnych aplikacji bazodanowych.

SQLite jest zawarte w każdej instalcji PHP5, więc możesz z niego korzystać wszędzie, gdzie jest najnowsza wersja PHP. Wbrew swojej nazwie, SQLite wcale nie jest taki "lite". Umożliwia on:

Możesz nawet pisać funkcje definiowane przez użytkownika w PHP i odwołać się do nich z SQLite. Jest to zdecydowanie najfajniejszy element jakiegokolwiek rozszerzenia bazodanowego w PHP.

5. Obsługa wyjątków

PHP5 oferuje zupełnie inny model sprawdzania kodu w poszukiwaniu błędów niż ten znany z PHP4. Zwie się on obsługą wyjątków i dzięki niemu będziesz mógł darować sobie sprawdzanie po kolei, czy wszystkie funkcje działają. Zamiast tego, możesz oddzielić funkcje, klasy i resztę twojego kodu od obsługi wyjątków i użyć ich jako sąsiadujących bloków kodu.

Być może znasz wyjątki z języków zorientowanych obiektowo, takich jak Java lub C++. Gdy są one używane rozsądnie, poprawią wydajność twoich skryptów. Gdy jednak użyjesz ich niemądrze, zepsują tylko twój kod powodując zaplątanie niczym na talerzu spaghetti.

Jak na razie niewiele rozszerzeń PHP używa wyjątków, ale są one stopniowo wprowadzane. W każdym razie – są one dostępne już dziś dla jakiegokolwiek kodu PHP, jaki napiszesz.

6. Implementacja SOAP

SOAP jest kluczowym komponentem szybko rozwijającego się świata usług sieciowych (web services). To rozszerzenie pozwala developerom na tworzenie klientów SOAP bez lub z plikiem WSDL oraz na implementację serwerów SOAP w PHP.

Wsparcie dla SOAP w PHP4 nie było najlepsze. Znajdziemy tam tylko kilka pakietów SOAP, a te najbardziej zaawansowane (i zarazem najpotrzebniejsze) są napisane w PHP, nie w C – co czyni je bardzo powolnymi, a ich ściągnięcie i instalacja należy jest już twoim zmartwieniem.

Razem z PHP5 nadeszło w końcu przydatne rozszerzenie SOAP napisane w C. Aktualnie, rozszerzenie to implementuje większość (ale nie całość) SOAP 1.2. Jest to znacząca poprawa w stosunku do poprzedniego rozszerzenia C, a kolejne elementy zostaną dodane w przyszłości.

W porównaniu z .NET albo Javą, PHPowe SOAP zawsze pozostawało w tyle. Niezależnie od tego, czy lubisz bądź nie cierpisz SOAP, PHP potrzeba porządnego rozszerzenia SOAP i jestem szczęśliwy widząc pierwsze kroki podejmowane w tym kierunku.

7. Powtórzenia (iteracja)

Powtórzenia (iteratory) są całkiem nowym elementem PHP5. Dzięki nim, możesz używać pętli foreach do wyświetlania różnych typów danych: zestawień folderów, wyników baz danych czy nawet dokumentów XML. SPL jest kolekcją iteratorów zapewniających w/w funkcjonalność oraz możliwość filtrowania, limitowania, cache'owania oraz inne sposoby modyfikacji wyników iteratorów.

Powtórzenia są bardzo przydatne podczas wyciągania fragmentów kodu ginących w gąszczu klas, funkcji i poleceń.

Na przykład: DirectoryIterator zmienia zestawienie folderów z tego:

$katalog = opendir($sciezka);
while (false !== ($plik = readdir($katalog))) {
print "$plik\n";
}
closedir($katalog);
W to:
foreach (new DirectoryIterator($sciezka) as $plik) {
print "$plik\n";
}
I nie trzeba się martwić o otwieranie katalogów ani warunki w pętli while.

Powyżej przedstawiłem siedem najlepszych, według mnie, zmian w PHP5, ale to nie znaczy, że są one jedynymi zmianami w nowej wersji PHP Hypertext Preprocessor.

Oprócz tego, o czym już pisałem, PHP5 oferuje m.in.:

Mam nadzieję że przyda ci się ten szybki przegląd PHP5. Jak widzisz, najnowsza wersja PHP jest o niebo lepsza niż poprzednie. Jestem pewien, że znajdziesz tysiące sposobów na zastosowanie 5. wersji tego języka w swoich skryptach.

Bartosz 'regua' Reguła

Osoby czytające tę publikację przeglądały również:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org