Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -
- # DEFINE CONSTANTES
- # DESC: Define constantes base
- // Directorio raiz
- if (!defined('ROOT_PATH'))
- define('ROOT_PATH', realpath(dirname(__FILE__)));
- // URL base
- define('URL_PATH', 'http://misitioweb.com/');
- // A continuacion definimos los directorios MODULOS y VISTAS entendiendo que nuestros archivos
- // se encontraran dentro de cada una de dichas carpetas
- define('MODULE_PATH', ROOT_PATH . "\\application\\modules");
- define('VIEW_PATH', ROOT_PATH . "\\application\\views");
- // Directorio de MODULOS y VISTAS por defecto
- define('DEFAULT_FOLDER', 'home');
- # -
- # SEO URLs
- # DESC: algoritmo para crear SEO URLs
- // Quita los parametros REQUEST ($_GET)
- list($path) = explode('?', $_SERVER['REQUEST_URI']);
- // Quita el script path
- $path = substr($path, strlen(dirname($_SERVER['SCRIPT_NAME']))+1);
- // Crea directorios con el path y elimina items vacios
- $urlParam = array();
- foreach (explode('/', $path) as $dir) {
- if (!empty($dir))
- $urlParam[] = urldecode($dir);
- }
- if (count($urlParam) > 0) {
- // Elimina extensiones (si se especifico alguna en la URL).
- $last = $urlParam[count($urlParam)-1];
- list($last) = explode('.', $last);
- $urlParam[count($urlParam)-1] = $last;
- }
- # -
- # MODULOS Y VISTAS
- # DESC: Carga modulos y vistas.
- // Define la variable de la carpeta segun el primer parametro: URL_PATH . "/" . $urlParam[0]
- // Es decir: http://misitioweb.com/home o http://misitioweb.com/usuarios o http://misitioweb.com/carpeta
- // Donde dicho primer parametro sera la carpeta que exista dentro de MODULE_PATH y VIEW_PATH
- $_folder = ($urlParam[0]) ? $urlParam[0] : "home" ;
- // Define la variable del archiv segun el segundo parametro: URL_PATH . "/" . $urlParam[1]
- // Es decir: http://misitioweb.com/home/
- // Donde dicho segundo parametro es el archivo dentro de $_folder
- $_file = ($urlParam[1]) ? $urlParam[1] : false ;
- // Si el archivo $_file existe, lo carga
- // Caso contrario, llama al archivo index.php dentro de $_folder
- // Se aplica la misma regla para MODULE y VIEW
- if (file_exists(MODULE_PATH . "\\{$_folder}\\{$_file}.php"))
- $_module = MODULE_PATH . "\\{$_folder}\\{$_file}.php";
- else
- $_module = MODULE_PATH . "\\{$_folder}\\index.php";
- if (file_exists(VIEW_PATH . "\\{$_folder}\\{$_file}.php"))
- $_view = VIEW_PATH . "\\{$_folder}\\{$_file}.php";
- else
- $_view = VIEW_PATH . "\\{$_folder}\\index.php";
- // Carga modulo o arroja error 404
- if (!file_exists($_module))
- {
- header('HTTP/1.0 404 not found');
- exit;
- }
- require($_module);
- // Carga vista o arroja error 404
- if (!file_exists($_view))
- {
- header('HTTP/1.0 404 not found');
- exit;
- }
- require($_view);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement