Parmi les nouveautés:
- les espaces de nommages (ou namespace).
- Maintenant les objets sont affectés par références. Ceux qui ont tenté de faire de l'objet en PHP savent que l'opérateur = duplique l'objet (y compris pour la création qu'il fait écrire toto &= new MonObjet ();, et il faut jouer de l'opérateur &= pour affecter une référence. Dans PHP5, tout est référence (comme sont habitués par exemple les développeurs java).
- Les constructeurs et destructeurs ont un nom unifié __construct et __destruct, comme en python.
- La notion de visibilité pour les membres d'une classe (public/private/protected, avec la même signification qu'en C++).
- Introduction de variables et de membres statiques.
- Apparition du mot clef final permettant à une variable de ne pas être redéfinie.
- Possibilité de déclarer des constantes (mot clef const).
- Fonction __clone () sur un objet permettant de le dupliquer facilement.
- Déférencement d'objet automatique (on peut enfin écrire $f->bar()->barbarina()
- Chargement automatique des classes en utilisant une fonction autoload ( http://talks.php.net/show/php5intro/24 )
- Méthodes spéciales __set, __get et __call (Object overloading & Method Overloading, http://talks.php.net/show/php5intro/24 et http://talks.php.net/show/php5intro/25 )
- Déclaration de classes abstraites
- Possibilité d'utiliser les types pour limiter les arguments de certaines fonctions à certains types (le langage reste uniquement typé dynamiquement).
Et parmi les nouvelles fonctionnalité : une extension mono.
source : www.phpindex.com
Message édité par Ex-Floodeur le 04-07-2003 à 16:09:42