Tema: spl_autoload
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2010, 13:55
cheru
 
Fecha de Ingreso: septiembre-2005
Mensajes: 34
Antigüedad: 18 años, 7 meses
Puntos: 1
spl_autoload

Quisiera discutir algo con la comunidad que me parece patético.

Los desarrolladores que estén trabajando con namespaces para realizar carga de clases en tiempo de ejecución conocerán las funciones spl_autoload que nos permiten realizar esta tarea.
Al intentar cargar una clase que no se encuentra incluida en nuestro script, automaticamente se intenta ejecutar una funcion definida por el usuario llamada __autoload() que cague el fichero contenedor de la clase. Existe además la posibilidad de utilizar un spl_autoload para realizar esta tarea.

El problema se presenta cuando utilizamos rutas de directorio con mayusculas y minusculas en un filesystem case sensitive, ya que la funcion spl_autoload() automaticamente convierte las rutas a lowercase.
Esto nos obliga a tener que programar una funcion __autoload() si queremos utilizar rutas case sensitive, por lo que el poder de spl_autoload está condicionado solo a las personas que corren PHP sobre un sistema case insensitive... una locura.

En el bug #48129 (http://bugs.php.net/bug.php?id=48129&edit=2) parecería que a las personas de PHP solo les importa la compatibilidad. Aunque sinceramente, esto puede solucionarse con una busqueda doble en case sensitive e insensitive al mismo tiempo.

Esperemos que para las proximas versiones esto esté solucionado, sino la programación de librerias en PHP se va a dificultar mucho.