L’idée d’introduire des type-hints scalaires pour les paramètres de fonctions et méthodes est revenue plusieurs fois sur le devant de la scène ces dernières années.

Une première RFC « Scalar Type Hints » a récemment été jusqu’à la phase de votes (ceux-ci étant particulièrement serrés avec un nombre record de participants), mais a été retirée suite au départ de son auteur.

La demande de type-hints scalaires étant visiblement forte au niveau de la communauté (au vu des échanges sur twitter, du nombre de blog-posts sur le sujet, des réactions sur reddit, …), Anthony Ferrara a relancé l’idée quelques jours plus tard, avec une RFC forkée depuis celle d’Andrea :

Cette nouvelle version de la RFC introduisait quelques différences relativement mineures par rapport à la précédente version 0.3, qui était en cours de vote une semaine avant :

  • L’instruction declare() doit désormais être la première du fichier.
  • Elle ne peut plus être utilisée en mode bloc ; seulement en mode fichier entier.
  • Les aliases integer et boolean ont été supprimés.
  • Et un entier est maintenant considéré comme valide pour le type-hint float ; y compris en mode strict.

Une longue section « Discussion points » a également été ajoutée, visant à répondre à de nombreuses questions habituelles sur le sujet et la proposition.

L’adoption de cette RFC demandait une majorité des 2/3 des voix. Les votes ouvert le 26 février ont été clôturés le 13 mars 2015. Comme pour la version précédente de cette proposition, nous avons exprimé un avis positif sur internals@.

Finalement, avec 108 votes « pour » et 48 votes « contre » (un tel nombre de votes, c’est un record !), cette RFC a été acceptée ! PHP 7.0 disposera donc de type-hints scalaires !