elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [PHP] Include dentro de una funcion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PHP] Include dentro de una funcion  (Leído 6,312 veces)
Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
[PHP] Include dentro de una funcion
« en: 19 Marzo 2009, 17:02 pm »

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 Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: [PHP] Include dentro de una funcion
« Respuesta #1 en: 19 Marzo 2009, 17:50 pm »

Si se puede, en tu función:

Código
  1. function cargarIncludes($archivos){
  2.    foreach ($archivos as $url) {
  3.         include($url);
  4.             }
  5. }
  6.  

Suerte


En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: [PHP] Include dentro de una funcion
« Respuesta #2 en: 19 Marzo 2009, 17:56 pm »

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 Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: [PHP] Include dentro de una funcion
« Respuesta #3 en: 19 Marzo 2009, 18:08 pm »

Prueba esto:

Código
  1. function cargarIncludes($archivos){
  2.    foreach ($archivos as $url) {
  3.        eval(include($url));
  4.             }
  5. }
En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: [PHP] Include dentro de una funcion
« Respuesta #4 en: 19 Marzo 2009, 18:28 pm »

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 Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: [PHP] Include dentro de una funcion
« Respuesta #5 en: 19 Marzo 2009, 18:41 pm »

mmm pruebalo, a mi me funcionó al 100%:

Código
  1. <?php
  2. ini_set("display_errors", 1);
  3. function cargarIncludes($archivos){
  4.     foreach ($archivos as $url) {
  5.         include($url);
  6.           }
  7. }
  8. $archivos=array('a.php','b.php','c.php');
  9. cargarIncludes($archivos);
  10. print_r($archivos);
  11. ?>
En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: [PHP] Include dentro de una funcion
« Respuesta #6 en: 19 Marzo 2009, 18:47 pm »

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:
Código:
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
En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: [PHP] Include dentro de una funcion
« Respuesta #7 en: 19 Marzo 2009, 18:52 pm »

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:
Código
  1. <?php
  2. echo "a";
  3. $laprueba="afffffffffffffffff";
  4. ?>

y en shit.php
Código
  1. <?php
  2. ini_set("display_errors", 1);
  3. function cargarIncludes($archivos){
  4. global $laprueba;
  5.     foreach ($archivos as $url) {
  6.         include($url);
  7.           }
  8. }
  9. $archivos=array('a.php','b.php','c.php');
  10. cargarIncludes($archivos);
  11. print_r($archivos);
  12. echo $laprueba;
  13. ?>

Resultado:

aArray (
  • => a.php [1] => b.php [2] => c.php ) afffffffffffffffff

 :xD
En línea

Alex_bro


Desconectado Desconectado

Mensajes: 1.246



Ver Perfil
Re: [PHP] Include dentro de una funcion
« Respuesta #8 en: 19 Marzo 2009, 19:03 pm »

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

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: [PHP] Include dentro de una funcion
« Respuesta #9 en: 19 Marzo 2009, 19:09 pm »

http://www.php.net/global

Si puedes hacerlas globales. Suerte
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Evaluar Una Funcion dentro de otra funcion Python
Scripting
cristiantorres 1 10,661 Último mensaje 14 Abril 2012, 06:20 am
por cristiantorres
Include dentro de un switch
PHP
z3nth10n 3 2,339 Último mensaje 8 Junio 2012, 23:54 pm
por WarGhost
malloc dentro de una funcion
Programación C/C++
erest0r 2 2,295 Último mensaje 18 Diciembre 2013, 19:05 pm
por erest0r
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines