El lenguaje PHP ha crecido de forma algo orgánica, por lo que el nombre de las funciones es desordenado en algunas partes. Muchos de los diferentes formatos se conservan por razones de compatibilidad con versiones anteriores.
Una pequeña digresión, pero además de los problemas con el nombramiento de funciones, otro desafortunado efecto colateral del crecimiento orgánico del lenguaje es una aparente inconsistencia en el orden de los argumentos, p. considerar las funciones in_array y strstr:
bool in_array (mixed $needle, array $haystack [, bool $strict])
string strstr (string $haystack, mixed $needle [, bool $before_needle=false])
Curiosamente, PHP parece ser internamente consistentes con estos ordenamientos en que todas las funciones de cadena parecen utilizar $haystack, $needle
mientras que las funciones de matriz son al revés, pero esto puede tomar un poco de acostumbrarse a alguien nuevo en PHP. Hay un buen post on ExpressionEngine hablando de este particular capricho en más detalle, así como un discussion on the PHP bugs list.
Como la lengua madura, hay varios intentos de implementar una convención de nomenclatura más rígido y consistente - de la Zend Framework Documentation:
Los nombres de funciones deben empezar siempre con una letra minúscula. Cuando el nombre de una función consiste en más de una palabra, la primera letra de cada nueva palabra debe estar en mayúscula. Esto se conoce comúnmente como formateo "camelCase".
filterinput()
getElementById()
Para una toma ligeramente diferente, desde 20 possible reasons why PHP function names and parameters are weird:
pegamentos PHP APIs y los seres humanos juntos, y a veces esto se complica
Las funciones PHP se han desarrollado bajo muchas circunstancias, som etimes borracho
función de PHP algoritmo de nombrar sigue siendo un secreto y no puede ser violada
PHP optó por dar a la gente algo divertido para quejarse/blog/reírse de
PHP tiene otros problemas que resolver
No estoy de acuerdo con los que votaron en contra. Es una pregunta legítima. Y las respuestas que aquí se presentan pueden ayudar mucho a los desarrolladores pobres a tolerar la rareza de los nombres en PHP. –
Los votos atrasados son un poco duros - la convención de nomenclatura irregular y el reordenamiento de argumentos me han hecho tropezar más de una vez – ConroyP
Hay un cierto segmento de desarrolladores de PHP que se enojan cada vez que alguien cuestiona 'su' idioma. Rechazan cualquier pregunta que expone defectos en PHP. – iconoclast