2010-02-16 25 views
6

Soy nuevo en php y he visto bastante convención de nombre de función ambigua en php y esto me confunde ya que regularmente olvido nombres de funciones. Supongo que debería darte un ejemplo.PHP: nombres de funciones ambiguas

Si la función de codificación es htmlentities entonces ¿por qué se ha opuesto se denomina html_entitiy_decode en lugar de algo así como entitiesdecode o el que está más cerca de htmlentities.

También hay nombres de funciones que coinciden, pero creo que php no tiene un enfoque coherente para nombrar sus funciones.

Cualquier idea, por favor, ya que me resulta difícil recordar los nombres de las funciones. Gracias

+0

Lo que suelo hacer antes de iniciar mi editor es encender los documentos PHP. He descargado estos en un cómodo '.formato chm' para Windows (incluso creo que hay televidentes '.chm' para otros SO también). Los documentos descargables están aquí: http://www.php.net/download-docs.php –

+1

Aquí hay un visor '.chm' para OS X: http://chmox.sourceforge.net/. Y aquí hay varios para Linux: http://www.linux.com/archive/articles/122171 –

+0

@fireeyedboy: sí, ese es uno de los mejores recursos para tener abierto. – Sarfraz

Respuesta

9

No, PHP en realidad no tienen un enfoque coherente de nombres de funciones - que es principalmente por dos razones:

  • razones históricas: una vez que las funciones han sido puestos en libertad con esos nombres, que no se pueden cambiar
  • Extensiones/bibliotecas: PHP es un lenguaje "adhesivo" que incorpora varias bibliotecas externas, y a menudo utiliza los nombres de las funciones de esas bibliotecas, que no son necesariamente consistentes.

Afortunadamente, la comunidad PHP y los desarrolladores están conscientes de eso, y tratan de no repetir este error ahora, cuando desarrollan nuevas funciones, pero las cosas seguirán así para funciones antiguas.


Lo mejor que puede hacer es adoptar una convención de nomenclatura para sus clases/funciones/métodos/variables, y respetarla en sus proyectos; eso ya será un buen comienzo.

+0

@Pascal: la respuesta más lógica y perfecta que creo, lo siento, no pude votar porque me exige tener una reputación de al menos 15 pero de todos modos esto realmente ayudó, gracias :) –

+0

@Pascal: +1 ahora puedo hacerlo :) –

+0

@phpBOY: de nada :-) ;;; Y bienvenido en SO! –

2

Me temo que este es un problema con PHP con el que tendrás que vivir. Podría ajustar estas funciones "mal llamadas" con las suyas, pero eso obviamente hará que llamar a esas funciones sea más caro.

3

Hay question and answer in the PHP FAQ about parameter order cosa relacionada:

No puedo recordar el orden de los parámetros de las funciones de PHP, que son al azar?

PHP es un pegamento que reúne cientos de bibliotecas externas, por lo que a veces esto se complica. Sin embargo, una regla empírica simple es la siguiente: Los parámetros de la función Array se ordenan como "needle, haystack" mientras que las funciones String son opuestas, por lo que "haystack, needle".

La primera frase de la respuesta se puede aplicar también a la función de nombres.

Para sus propias funciones, eche un vistazo a Userland Naming Guide y/o considere seguir uno de los convenios de codificación como Zend o .

0

Daría una respuesta simple, el hecho es que es debido a la compatibilidad. Una función una vez que se le ha dado un nombre no se puede revertir, ya que se ha utilizado en miles de proyectos y en el núcleo del lenguaje, así como en pear y pecl. Gracias

+0

@Sarfraz: sí, eso parece ser bastante correcto y respuesta corta gracias –