Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/09/2009, 04:08
Avatar de PacoRuiz
PacoRuiz
 
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
variables globales

He hecho un código que contiene una parte principal y varias funciones. El código define un array en la parte principal que es usado en las funciones como variable global. dentro de la función escribo global $clases; para que la función acceda a ese array definido en la parte principal. El código funciona correctamente.

Como necesito que introducir el mismo código en muchas páginas, en lugar de pegarlo en todas ellas, hice un include. Cogí el fichero y creé una función que correspondía a la parte principal del código, por ejemplo principal(), y al fichero lo llamé libreria.php.

Luego cogí otro fichero donde anteriormente tenía pegado el código anterior y funcionaba correctamente, borré dicho código y lo sustituí por include 'libreria.php';
y principal();

En teoría debería funcionar igual, ejecuta principal() que corresponde a la parte principal del código anterior y llama a las funciones que llamaba el código anterior y que funcionaban bien.

El código no funciona porque no reconoce la variable clases que en este caso en lugar de estar definidas en la parte principal están definidas en una función: principal().

¿Es que no se pueden definir variables globales dentro de una función?

El código es complejo, pero he hecho este ejemplo sencillo del mismo caso. El código no muestra nada. ¿Cómo puedo hacer para que muestre el array de modo que pueda llamar a principal() desde cualquier página utilizando un include?

Última edición por PacoRuiz; 20/09/2009 a las 04:20