Dès la sortie de PHP5.3, un nouveau débat (nouveau ... pourtant vieux de plusieurs années déja) a ressurgi sur les mailing-lists internes.
A quand le typage complet des arguments de méthode ?
Actuellement, il n'est possible de typer qu'un objet d'une classe, ou encore un "array", on a donc ridiculement un typage incomplet, que les afiçionados d'autres langages ne manquent pas de nous renvoyer en pleine tête ;-)
Ilia Alshanetsky possédait un patch pour 5.2 rajoutant un support à la fois complet et souple, il l'a porté sur 5.3 et le remet donc sur la table au sein du PHP Group. Vous pouvez lire son billet blog ici
Vous pouvez suivre des fils de discussion par exemple ici, sur les @internals.
Sinon, il existe encore une page très intéressante sur le wiki de PHP, proposant un support total du typage des fonctions : non seulement tous ces arguments peuvent être typés, mais aussi sa valeur de retour.
Enfin une bonne idée ! Mais malheureusement pas encore dans PHP, en effet le PHPGroup n'est pas d'accord avec lui-même. Certains pensent que PHP devrait évoluer vers un tel typage (qui pour rappel resterait entièrement facultatif comme l'est le typage actuel) , d'autres pensent qu'au contraire typer strictement une fonction enlèverait de la souplesse à PHP dans la mesure où si une méthode type sur un entier, lui passer "1" mènerait à une erreur alors que par transtypage cela est valide.
Ce que j'en pense moi ? J'aime l'idée d'Ilia : un typage souple et efficace, à l'image de PHP, mais s'il vous plait : vite vite vite !
PHP a vraiment mûri ces dernières années, et avec l'avènement des frameworks qui apportent un cadre strict à PHP, une telle fonctionnalité serait vraiment la bienvenue !
Peut-être pour PHP 5.4 ?
Vous devez être identifié pour poster un commentaire.
Developpement web PHP
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 |
Copyright © 2000-2012 - www.developpez.com