Décidé suite à une réunion à Paris en 2005, ce vieux serpent de mer refait surface avec un nouveau RFC, c'est-à-dire une soumission au vote pour intégration dans PHP.
En clair, il s'agirait de permettre la déclaration (facultative) du type retourné par une fonction, une méthode ou un closure.
Les avantages sont multiples:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function randomArray() : array { return range(1, 20); }
- c'est la contrepartie du type hinting que nous avons déjà pour les signatures
Cela évite bien de vérifications pour s'assurer que le type retourné par une méthode ou une fonction est correct. Moins de vérifications égale moins de risque de se tromper.
Code : Sélectionner tout - Visualiser dans une fenêtre à part function save(PDO pdo)
- cela empêche qu'une fonction retourne un objet inattendu, ce qui entraîne des bugs difficiles à détecter après.
- ça facilite la compréhension du code. Qui ne s'est jamais penché sur une méthode en se demandant qu'est-ce qu'elle pouvait bien retourner? Aujourd'hui, on utilise les docblocks pour pallier à ça, mais on sait bien que lorsqu'on doit livrer rapidement, on n'a pas le temps de modifier tous les dockblocks.
- Bonus: les éditeurs peuvent faire de l'autocomplétion sans docblocks, donc moins de lignes à écrire.
Le problème c'est que ceux qui votent pour cette intégration sont assez conservateurs, donc il n'est pas dit que ça passe. Reste à espérer que la menace de Hack, l'implémentation PHP de Facebook, qui commence sérieusement à intéresser de plus en plus de développeurs, les pousse dans la bonne voie.
Partager