![]() |
Como se usa el __autoload() Hola a todos :-) Estuve leyendo el manual de php, y me quedaron dudas de como utilizar la funcion __autoload() Primero no estoy seguro si es una funcion de PHP o es una funcion definida por el usuario, y segundo q en el ejemplo q hay en la pagina: <?php function __autoload($class_name) { require_once $class_name . '.php'; } $obj = new MyClass1(); $obj2 = new MyClass2(); ?> No entiendo como el parametro $class_name toma el valor de la clase adecuada asi como por arte de magia. ¿Es acaso q el valor de este parametro es siempre el string q esta al lado de la palabra new ? Osea el nombre de la clase q se esta intentando instanciar 'MyClass1' y 'MyClass2' ¿? Si alguien ya implemento esta funcion, ¿seria tan amable de poner parte del codigo (sin los datos sensibles, claro) para ver como lo implemento, o recomendar una pagina con ejemplos mas completos para aprender a usar esta funcion ? Muchas gracias. Chao |
Re: Como se usa el __autoload() Claro, es como un controlador. Supongamos que tenes la classe MyClass1 y MyClass2, la primera en MyClass1.php y la segunda en MyClass2.php. Cuando intentes crear un objeto esto llamara a __autoload() y esta ejecutara phlo que tengas dentro, en este caso el include de ambos .php. Sería lo mismo que hacer: Código PHP: Pero esto con 10 archivos o mas archivos de clases se resume a un único include, es una manera limpia de trabajar. Se de formas de hacer controladores un poco mas rebuscadas, pero que es optimo y que no, o si hay una mejor opción lo sabrás haciendo la pregunta en el subforo de oop. Suerte! |
Re: Como se usa el __autoload() Gracias nicolaspar. Voy a preguntar en el foro de OOP a ver q me dicen Chao. |
Como se usa el __autoload() Hola a todos Estuve leyendo el manual de php, y me quedaron dudas de como utilizar la funcion __autoload() Primero no estoy seguro si es una funcion de PHP o es una funcion definida por el usuario, y segundo q en el ejemplo q hay en la pagina: <?php function __autoload($class_name) { require_once $class_name . '.php'; } $obj = new MyClass1(); $obj2 = new MyClass2(); ?> No entiendo como el parametro $class_name toma el valor de la clase adecuada asi como por arte de magia. ¿Es acaso q el valor de este parametro es siempre el string q esta al lado de la palabra new ? Osea el nombre de la clase q se esta intentando instanciar 'MyClass1' y 'MyClass2' ¿? Si alguien ya implemento esta funcion, ¿seria tan amable de poner parte del codigo (sin los datos sensibles, claro) para ver como lo implemento, o recomendar una pagina con ejemplos mas completos para aprender a usar esta funcion ? Muchas gracias. Chao |
Re: Como se usa el __autoload() |
Re: Como se usa el __autoload() La funcion autoload es magica, y es una funcion definida por ti, supongamos que tienes muchisimas clases, todas en un directorio especifico que se llama "lib". Entonces en lugar de estar haciendo un script asi: Código PHP: Código PHP: Esto es muy util, y puedes ver el porque juega un papel importante en PHP5. |
Re: Como se usa el __autoload() GatorV muchas gracias , me quedo claro. Cambiando de tema. Q paso con tu microframwork de php, podrias postear un manual de como hacer uno, la idea parece bastante interesante, al menos para mi. Bueno otra vez gracias. Chao |
| La zona horaria es GMT -6. Ahora son las 10:52. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.