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!
Si se puede, en tu función:
function cargarIncludes($archivos){
foreach ($archivos as $url) {
include($url);
}
}
Suerte
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.
Prueba esto:
function cargarIncludes($archivos){
foreach ($archivos as $url) {
eval(include($url));
}
}
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
mmm pruebalo, a mi me funcionó al 100%:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
function cargarIncludes($archivos){
foreach ($archivos as $url) {
include($url);
}
}
$archivos=array('a.php','b.php','c.php');
cargarIncludes($archivos);
print_r($archivos);
?>
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 :D
aaaaaaaaaaaaaaa ;D
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
error_reporting(E_ALL);
ini_set("display_errors", 1);
function cargarIncludes($archivos){
global $laprueba;
foreach ($archivos as $url) {
include($url);
}
}
$archivos=array('a.php','b.php','c.php');
cargarIncludes($archivos);
print_r($archivos);
echo $laprueba;
?>
Resultado:
aArray (
- => a.php [1] => b.php [2] => c.php ) afffffffffffffffff
:xD
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!
http://www.php.net/global
Si puedes hacerlas globales. Suerte