Le langage PHP s'est développé de manière organique, et le nom des fonctions est parfois aléatoire. La plupart des différents formats sont conservés pour des raisons de compatibilité ascendante.
Une légère digression, mais en plus des problèmes de dénomination des fonctions, un autre effet secondaire malheureux de la croissance organique du langage est une incohérence apparente dans l'ordre des arguments, par exemple, considérez les fonctions dans_réseau y strstr :
bool in_array (mixed $needle, array $haystack [, bool $strict])
string strstr (string $haystack, mixed $needle [, bool $before_needle=false])
Il est amusant de constater que PHP semble être cohérent en interne avec ces ordres, dans la mesure où toutes les fonctions de chaînes de caractères semblent utiliser la fonction $haystack, $needle
alors que les fonctions de tableau sont inversées, mais cela peut prendre un peu de temps pour s'habituer à quelqu'un qui ne connaît pas PHP. Il existe une bonne post sur ExpressionEngine parler de cette bizarrerie en détail, ainsi qu'une discussion sur la liste des bogues de PHP .
Au fur et à mesure de la maturation du langage, diverses tentatives ont été faites pour mettre en œuvre une convention de dénomination plus rigide et plus cohérente - de l'initiative Documentation sur Zend Framework :
Les noms de fonction doivent toujours commencer par une lettre minuscule. Lorsqu'un nom de fonction est composé de plusieurs mots, la première lettre de chaque nouveau mot doit être en majuscule. C'est ce qu'on appelle communément le formatage "camelCase".
filterInput()
getElementById()
Pour un point de vue légèrement différent, de 20 raisons possibles pour lesquelles les noms et paramètres des fonctions PHP sont bizarres :
-
PHP colle les API et les humains ensemble, et parfois cela devient désordonné.
-
Les fonctions PHP ont été développées dans de nombreuses circonstances, parfois en état d'ébriété.
-
L'algorithme de dénomination des fonctions PHP reste un secret et ne peut être craqué.
-
PHP a choisi de donner aux gens quelque chose d'amusant pour se plaindre/bloguer/rire.
-
PHP a d'autres problèmes à résoudre