PHP Namespaces

le 15/08/2009 à 20:13
PHP Namespaces
Un des plus importants changements dans PHP 5.3 concerne l'apparition des espaces de noms « Namespaces ». Pour rappel, ils permettent de modifier la structure des applications PHP.

L'objectif de cette nouvelle fonctionnalité va vous permettre de prévenir des problèmes éventuels concernant l'utilisation des fonctions, des classes ayant le même nom et définies plusieurs fois.

Les sites « sitepoint » et « développez »  décrivent la manière de les appliquer sous la forme de tutoriaux.

- Part 1: The Basics
- Part 2: Importing, Aliases, and Name Resolution
- Part 3: Keywords and Autoloading
- Espaces de noms (namespaces)

A lire également

Les espaces de noms sont l'Arlésienne de PHP, allant et venant en permanence. La dernière contribution est celle de Dmitry Stogov, qui vient de soumettre un patch à la révision générale. Les discussion sur les listes de diffusion vont bon train, et les blogues ont aussi leur grain de sel à mettre.

- [PHP-DEV] Simple Namespace Proposal
- PHP namespaces - Evert Pot
- Namespaces in PHP6 (Again) - Tony Bibbs on PHP
- Namespaces - can we keep it simple? - PHP 10.0 Blog
- I love namespaces
PHP 5.3 arrive avec le support des espaces de noms, et cela implique une partie de réécriture des noms de classes pour utiliser la nouvelle syntaxe.

$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');

devient

use Zend::Controller::Action;
$viewRenderer = HelperBroker::getStaticHelper('viewRenderer');

En pratique, il n'est pas possible de découper les noms de classes aussi facilement, car certains mots courants, comme abstract ou interface, sont aussi des mots réservés. Matthew O'phinney propose donc de préfixer les abstractions par a, et les interfaces par i. L'autoloading d'exception est aussi une autre source de problèmes. Lisez l'article de Matthew et les discussions qui s'ensuivent.

Notez que l'ancienne syntaxe est toujours active donc il n'est pas obligé de passer aux espaces de noms, comme on peut plus ou moins écrire du code PHP 4 en PHP 5.

- PHP Namespaces (Part 1: Basic usage & gotchas)

Commentaires

Ecrire

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours