Ya hablé por aquí hace tiempo de la implementación de la función mágica de PHP "__autoload()". Entonces me planteaba cómo podía "optimizarse", por decirlo así, puesto que, en Gesbit se utilizan clases propias y de terceros, y, estas últimas, se guardan en un subdirectorio del directorio de clases "principal".

Me planteaba entonces situar todas las clases en el mismo directorio, de modo que la función "__autoload()", tal como se implementaba entonces, no "creciese" en tamaño peligrosamente. Pues bien, al cabo decidí que no, que mejor estaban las clases separadas, y no me arrepiento, porque, desde entonces he añadido un par de librerías de terceros, con varias clases cada una de ellas.

Pero, el problema continuaba ahí. Es decir, la función "__autoload()" usada en Gesbit crecía, como era de esperar, en función de las librerías que iban añadiéndose. Hoy he decidido darle un repaso a todo esto, y, creo que ha quedado bastante bien. He comprobado que el rendimiento, según XDebug Profiler, es similar e incluso mejor, a veces.

Pero, como lo mejor será echar un vistazo al código, vamos a hacerlo a continuación, si te parece.

Continuar leyendo...