Estaba buscando en un código y encontré algunas llamadas a mySQL_fetch_array
. ¿PHP distingue entre mayúsculas y minúsculas sobre los nombres de las funciones? Recuerdo haber leído esto en alguna parte, pero parece que no puedo encontrar ninguna referencia al mismo.
php
function
case-sensitive
Ben Dauphinee
fuente
fuente
Respuestas:
Estoy citando de esto :
Entonces, parece que las funciones definidas por el usuario no distinguen entre mayúsculas y minúsculas, hubo una votación para hacer que las funciones / objetos bajo PHP5 distingan entre mayúsculas y minúsculas.
fuente
No.
Las funciones PHP no distinguen entre mayúsculas y minúsculas.
fuente
TL; DR: los nombres de las clases no distinguen entre mayúsculas y minúsculas, pero usan siempre el mismo caso que en la declaración (lo mismo que con las funciones). Además, la creación de instancias de clases con diferentes mayúsculas y minúsculas tal como se definieron puede causar problemas con los cargadores automáticos.
Además, los nombres de las clases no distinguen entre mayúsculas y minúsculas:
Esto produce:
El problema es el uso de cargadores automáticos y sistemas de archivos que distinguen entre mayúsculas y minúsculas (como ext2 / 3/4), ya que debe llamar al nombre de la clase con el mismo caso en el que se nombra el archivo que contiene la clase (no cómo el nombre de la clase está realmente en mayúsculas), o use
strtolower
:El archivo de clase:
La función de autocargador (
__autoload
o una función para registrarsespl_autoload_register
)Ahora con este código:
Puede hacer que esto funcione (es decir, tener nombres de clase que no distingan entre mayúsculas y minúsculas utilizando un cargador automático) si agregó una llamada a
strtolower()
en el código del cargador automático, pero al igual que con las funciones, es mejor hacer referencia a una clase de la misma manera que se declara, tenga el nombre del archivo con el mismo caso que el nombre de la clase, use autocargadores y olvídese de usarstrtolower
y los me gusta.fuente
No, son no entre mayúsculas y minúsculas, sin embargo, se debe utilizar siempre el caso que se encuentra en el manual, para mantener la coherencia.
Sin embargo, las variables distinguen entre mayúsculas y minúsculas.
fuente
En PHP, las variables distinguen entre mayúsculas y minúsculas, pero las funciones no tienen problemas como este. Puede usar las siguientes declaraciones para mostrar la salida, todas mostrarán el mismo resultado.
Por otro lado, si cambia la distinción entre mayúsculas y minúsculas de las variables, se mostrará el error.
Ejemplo:
Salida:
fuente
Y los nombres de los métodos tampoco distinguen entre mayúsculas y minúsculas. p.ej:-
salida:
fuente
En conclusión de la respuesta de todos. Aunque PHP no requiere consistencia entre mayúsculas y minúsculas en todos los casos, incluso hasta ahora en PHP5.
La mejor práctica será
Nunca se sabe, tal vez algún día la votación se lleve a cabo y se ahorrará toda la pesadilla de cambiar casos en sus aplicaciones que se hicieron hace un par de años y que requieren actualización en PHP.
Espero que ayude de todos modos.
fuente
Puede que sea demasiado tarde, pero ...
Todo el mundo ya lo sabía aquí: el motor PHP no se preocupa por el caso de las letras.
Y está la votación sobre el rastreador de errores de PHP, donde la mayoría dice: "Sí, estoy a favor de la sensibilidad a los casos".
Pero estoy en contra, porque en mi marco MVC, llamo a la acción del controlador:
$ controller y $ action se toman de la URL tal cual.
Piense, si un usuario publica un enlace a mi sitio: https: // my-site / MyPartnerController / MyPartnerGallery
mientras que la clase se llama myPartnerController ...
Significa que nadie accede a esta página si los nombres de funciones y clases de PHP distinguen entre mayúsculas y minúsculas.
Sí, siempre uso todos los nombres en el código como se declararon. Pero rezo para que nunca hagan que los nombres de funciones y clases sean sensibles a mayúsculas y minúsculas.
¡Gracias!
fuente