Autor
|
Tema: [PHP] Include dentro de una funcion (Leído 6,312 veces)
|
Alex_bro
Desconectado
Mensajes: 1.246
|
Buenas, Cada dia se me presentan mas includes al principio de cada fichero... y queria hacer una funcion de Cargar() asignando en los parametros si usare una db o el motor de templates... y para ello necesitaria incluir los ficheros dentro de la funcion... pero no se puede... hay forma? o se les ocurre alguna otra idea?
Gracias!
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
Si se puede, en tu función: function cargarIncludes($archivos){ foreach ($archivos as $url) { include($url); } }
Suerte
|
|
|
En línea
|
|
|
|
Alex_bro
Desconectado
Mensajes: 1.246
|
No pero si el problema es que el include solo se hace dentro de esa funcion, no tiene efectos a nivel global fuera de ella.
Gracias.
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
Prueba esto: function cargarIncludes($archivos){ foreach ($archivos as $url) { } }
|
|
|
En línea
|
|
|
|
Alex_bro
Desconectado
Mensajes: 1.246
|
Nada, tampoco. De esa forma me ha tirado al principio un error de sintaxis, pero hojeando php.net lo solucione, pero tampoco se soluciona el incluir el archivo de forma global. Alguna manera tiene que haber para esto tan simple digo yo... o hay forma mas logica de obtener el mismo resultado?
Gracias
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
mmm pruebalo, a mi me funcionó al 100%: <?php function cargarIncludes($archivos){ foreach ($archivos as $url) { include($url); } } $archivos=array('a.php','b.php','c.php'); cargarIncludes($archivos); ?>
|
|
|
En línea
|
|
|
|
Alex_bro
Desconectado
Mensajes: 1.246
|
La he usado y cargar cargan perfectamente, pero la idea es usar despues una variable que esté en alguno de esos archivos, o una clase para manejar la db, y entonces no funciona: Notice: Undefined variable: casa in /blabla.../test.php on line 15 Tu codigo va genial para mostrar los resultados de esos includes, pero no para usar funciones y variables que esten en esos archivos, no se si me explique bien. Gracias por tu apoyo
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
aaaaaaaaaaaaaaa Mira, hay algo que se llama "global" que sirve para usar $variables dentro y fuera que hayan sido declaradas de la función Mira: en a.php tengo: <?php echo "a"; $laprueba="afffffffffffffffff"; ?>
y en shit.php <?php function cargarIncludes($archivos){ global $laprueba; foreach ($archivos as $url) { include($url); } } $archivos=array('a.php','b.php','c.php'); cargarIncludes($archivos); echo $laprueba; ?>
Resultado: aArray ( - => a.php [1] => b.php [2] => c.php ) afffffffffffffffff
|
|
|
En línea
|
|
|
|
Alex_bro
Desconectado
Mensajes: 1.246
|
No si eso de global ya lo uso, pero seria una lata declarar globales todas las variables que vaya a usar en esos includes no? jaja, de todas formas eso no seria problema, sino que no se puede declarar global una funcion, o si? Lo de las variables era un ejemplo, pero lo que yo quiero es usar clases y funciones que estan en esos archivos que quiero incluir. Siento ser tan pesado Gracias!
|
|
|
En línea
|
|
|
|
|
|
|