Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Pregunta sobre eficiencia __autoload()

Estas en el tema de Pregunta sobre eficiencia __autoload() en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, Tengo una duda sobre eficiencia de la función __autoload() Esta función carga todas las clases de un directorio que le indiques, siempre y cuando ...
  #1 (permalink)  
Antiguo 29/09/2009, 14:49
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Pregunta sobre eficiencia __autoload()

Buenas,

Tengo una duda sobre eficiencia de la función __autoload()

Esta función carga todas las clases de un directorio que le indiques, siempre y cuando las necesites.

Por ej. Si dentro de lib/ tienes 30 ficheros de clases, con la siguiente instrucción cargarás los 30 ficheros a la vez! es correcto?

Código php:
Ver original
  1. function __autoload($class) {
  2.       require('lib/$class.class.php');
  3. }
  4.  
  5. $persona = new personas();

Me pregunto, si en esa página solo vas a utilizar un par de clases, ¿no sería más eficiente cargar individualmente esas dos clases, que utilizar función __autoload() ?

Gracias de antemano
  #2 (permalink)  
Antiguo 29/09/2009, 15:13
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Pregunta sobre eficiencia __autoload()

Si no me equivoco, esa función se ejecuta cada vez que instancias una clase. Además fíjate que en el require estás especificando que busque el archivo de la clase, no está cargando todas los archivos que tengas en el directorio.

Pero yo creo que si vas a usar una o dos clases, mejor llamarlas directamente, así te ahorras una función.

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 29/09/2009, 15:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pregunta sobre eficiencia __autoload()

Es mas o menos lo que dice spider_boy, __autoload funciona cuando tu haces una nueva instancia de una clase por ejemplo $perona = new persona(); si no la incluiste antes usando require/include entonces entra en acción el autoload y trata de incluir en este caso require('lib/personas.class.php');

Si haces otra instancia de otra clase que no existe pasa lo mismo, no carga las 30 clases al mismo tiempo, va cargando conforme sean necesarias.

Saludos.
  #4 (permalink)  
Antiguo 29/09/2009, 16:11
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Pregunta sobre eficiencia __autoload()

Comprendido!

Gracias a los dos :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:07.