Hola, pues estaba echandole una ojeada al post de Naveda (
http://www.phperos.net/foro/index.php?topic=305.msg2454#msg2454), y me vino a la cabeza ¿porque no crear un sistema de modulacion que solo funcione metiendo archivos en una carpeta?, pues lo he conseguido, es facilillo, pero bueno, seguramente a mas de uno le vendra muy bien.
Bueno, antes de nada, decir que solo teneis que editar una variable, que sera el nombre de la carpeta donde esten los modulos, nada mas xD
Debeis crear un archivo con cualquier nombre oara meter este codigo, y tambien una carpeta.
ejemplo:
Creamos un index.php y luego intruducimos el codigo de abajo.
Creamos una carpeta con el nombre de Modulos, y alli metemos lo que queramos login.php, registro.php...(recuerda que deben tener un nombre aceptable, porque con este nombre se creara el menu)
<?php
$modules = 'modulos'; //una variable para el nombre de la carpeta donde estaran los modulos
$directory = dir($modules); //especificamos la carpeta y la abrimos
while (false !== ($entry = $directory->read())) { //hacemos un bucle para leer los archivos 1 en 1
if($entry == "." or $entry == ".."){ //omitimos los valores de lso archivos '.' y '..'
}
else{
$filename = str_replace('.php', ' ', $entry); //de los archivos optenidos quitamos la extension .php
$indexname = basename($_SERVER["SCRIPT_NAME"]); //obtenemos el nombre del archivo principal, no el de los modulos (index.php)
echo '<a href="'.$indexname.'?page='.$filename.'">'.$filename."</a><br>"; //hacemos un menu para mover entre los modulos
}
}
$directory->close(); //cerramos el directorio
if ($_GET['page']){ //optenemos la variable page del $_GET
include_once $modules.'/'.$_GET['page'].'.php'; //incluimos el archivo que hemos llamado
}
?>
Salu2!