Yo lo que tengo es este archivo que contiene todos los nombres de los modulos:
Código PHP:
<?php
/*
* Archivo de configuración para nuestra aplicación modularizada.
* Definimos valores por defecto y datos para cada uno de nuestros módulos.
*/
define('MODULO_DEFECTO', 'home');
define('LAYOUT_DEFECTO', 'layout_simple.php');
define('TITLE_DEFECTO', 'Patria Quemera - web no oficial de Huracán');
define('MODULO_PATH', realpath('./modulos/'));
define('LAYOUT_PATH', realpath('./layouts/'));
$web="Patria Quemera";
$conf['home'] = array(
'archivo' => 'home.php',
'layout' => 'layout_portada.php',
'title' => TITLE_DEFECTO );
$conf['articulo'] = array(
'archivo' => 'art.php',
'layout' => LAYOUT_DEFECTO );
$conf['imp_art'] = array(
'archivo' => $conf['articulo']['archivo'],
'layout' => 'imprimir.php' );
$conf['login'] = array(
'archivo' => 'gestion_usuarios.php',
'layout' => LAYOUT_DEFECTO,
'title' => 'Login Usuario' );
$conf['logout'] = array(
'archivo' => 'out.php',
'layout' => LAYOUT_DEFECTO,
'title' => 'Logout Usuario' );
?>
y el index.php que llama a ese archivo es asi:
Código PHP:
<?php
ob_start();
//error_reporting(E_ALL);
// Primero incluimos el archivo de configuración
include('conf.php');
/** Verificamos que se haya escogido un modulo, sino
* tomamos el valor por defecto de la configuración.
*/
if (!empty($_GET['mod']))
$modulo = $_GET['mod'];
else
$modulo = MODULO_DEFECTO;
/** También debemos verificar que el valor que nos
* pasaron, corresponde a un modulo que existe, caso
* contrario, cargamos el modulo por defecto
*/
if (empty($conf[$modulo]))
$modulo = MODULO_DEFECTO;
/** Ahora determinamos que archivo de Layout tendrá
* este módulo, si no tiene ninguno asignado, utilizamos
* el que viene por defecto
*/
if (empty($conf[$modulo]['layout']))
$conf[$modulo]['layout'] = LAYOUT_DEFECTO;
if (empty($conf[$modulo]['title']))
$conf[$modulo]['title'] = TITLE_DEFECTO;
$title=$conf[$modulo]['title'];
// Aqui podemos colocar todos los comandos necesarios para
// realizar las tareas que se deben repetir en cada recarga
// del index.php - En el ejemplo, conexión a la base de datos.
?>
<HEAD>
<META NAME="Title" CONTENT="Patria Quemera - Sitio no Oficial de Huracán">
<META NAME="Author" CONTENT="PatriaQuemera">
<META NAME="Description" CONTENT="Toda la información del Club Huracán tanto en la web como en los foros quemeros">
<META NAME="Keywords" CONTENT="PatriaQuemera Huracán Quemero Fútbol Ducó Club Oficial Quemera Mohamed Fixture Torneo Nacional Sitio">
<META NAME="Robots" CONTENT="All">
</head>
<?
include("clases/conexion.php");
echo "<LINK href=\"css/estilo.css\" rel=stylesheet>\n";
include("includes/functions.php");
// include("scripts/banner.html");
/** Finalmente, cargamos el archivo de Layout que a su vez, se
* encargará de incluir al módulo propiamente dicho. si el archivo
* no existiera, cargamos directamente el módulo. También es un
* buen lugar para incluir Headers y Footers comunes.
*/
$path_layout = LAYOUT_PATH.'/'.$conf[$modulo]['layout'];
$path_modulo = MODULO_PATH.'/'.$conf[$modulo]['archivo'];
if (file_exists($path_layout))
include( $path_layout );
else
if (file_exists( $path_modulo ))
include( $path_modulo );
else
die('Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
ob_end_flush();
?>