PHP 5
Z PHPEdia.pl
To jest tylko zalążek artykułu. Jeśli możesz, rozbuduj go.
Spis treści |
Wstęp
PHP 5 jest piątą wersją języka skryptowego PHP. Wprowadza ona wiele zmian, w szczególności związanych z programowaniem obiektowym. Najnowszym stabilnym wydaniem PHP 5 jest wersja 5.0.4.
Zmiany w stosunku do PHP 4
Najważniejsze ze zmian to:
- Zend Engine w wersji 2.0 zastąpił Zend Engine 1.0
- Nowy model programowania obiektowego
- Wprowadzenie Standardowej Biblioteki PHP (ang. Standard PHP Library - SPL)
- Wyjątki
- Iteratory
- Biblioteka MySQL nie jest już wbudowana w PHP, wprowadzono także nowe rozszerzenie MySQLi (MySQL improved), przeznaczone do współpracy z MySQL 4.1 (lub nowszym)
- Wbudowana obsługa bazy SQLite
- Rozszerzenie SOAP
- Strumieniowe API dla twórców rozszerzeń
Programowanie obiektowe w PHP 5
Konstruktory i destruktory
W PHP 5 metoda będąca konstruktorem ma nazwę __construct.Z racji zgodności w dól jako nazwy konstruktora można użyć nazwy zgodnej z nazwą klasy. Dodano także możliwość tworzenia destruktorów, czyli metod wywoływanych w czasie niszczenia obiektu. Metoda będąca destruktorem nosi nazwę __destruct().
Przekazywanie obiektów
Obiekty przekazywane są domyślnie przez referencję (a nie, jak w przypadku PHP 4, poprzez kopiowanie).
Dostęp do właściwości i metod
W PHP 5 każda właściwość lub metoda klasy ma określony dostęp - służą do tego słowa kluczowe public, private i protected.
Przeciążanie
Jeśli zadeklarujemy "magiczne" metody __call, __get i __set, będą one wywoływane przy probie dostępu do niezdefiniowanych metod lub własności.
Klasy i metody finalne
Słowo kluczowe final przed definicję metody powoduje, że w klasie dziedziczącej nie możemy modyfikować tejże metody, natomiast final przed definicję klasy uniemożliwia jej dziedziczenie.
Klasy abstrakcyjne
Abstrakcje są to klasy bądź funkcje, które nie mogą być wykonane same, muszą najpierw zostać dziedziczone aby mogły być wykorzystane w programie.
Interfejsy
W PHP 5 dodano także interfejsy, które pozwalają nam na wcześniejsze zdefiniowanie metod, jakie klasa wykorzystująca dany interfejs musi zaimplementować.
__autoload
Za pomocą funkcji __autoload() możemy zdefiniować zachowanie skryptu w przypadku próby stworzenia obiektu niezadeklarowanej klasy (funkcja ta po wywołaniu może np. załadować plik z potrzebną klasą).
Wymaganie typów (type hinting)
Deklarując funkcją możemy zażądać, by argumenty były obiektami konkretnych klas - próba wywołania funkcji z innym typem zmiennej spowoduje błąd (fatal error).
Wyjątki
Wyjątki (ang. exceptions) w PHP są zupełną nowości. Mówiąc krótko, wyjątki są mechanizmem obsługi błędów. Wyjątki mogą być wyrzucane (ang. throw), jeśli wystąpi błąd, a następnie łapane (ang. catch) w odpowiednim miejscu i obsługiwane. W związku z tym wprowadzono do PHP 5 nowe słowa kluczowe try, catch i throw.
Linki zewnętrzne
- [1] Centrum informacji o PHP 5 na stronach firmy Zend
- [2] Opis nowych możliwości programowania obiektowego w PHP 5 w podręczniku PHP
- [3] Migracja do PHP 5 w podręczniku PHP
- [4] Manual SPL
