Ver Mensaje Individual
  #8 (permalink)  
Antiguo 12/09/2009, 10:33
samu22
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: url amigables

Cita:
Iniciado por abimaelrc Ver Mensaje
@samu22 tengo una duda con tu codigo (que por cierto me gusto), en esta linea

Código PHP:
Ver original
  1. $archivoControlador = CONTROLADOR_DIR.DS.$nombre.'Controlador.php';
No veo que hayas definido una variable llamada DS de ¿donde sale esa variable?
huy perdon, borre la definicion sin darme cuenta porque en el mismo archivo tengo las definiciones de los modelos y las vistas, y no queria mezclar todo el codigo para el fin que se iba a utilizar.

la constante DS == /. (directorty separator).

entonces en la clase conector quedaria de la siguiente forma

Código php:
Ver original
  1. <?php      
  2.  
  3.     class conector{
  4.        
  5.             function iniciar(){
  6.                 // definimos el directorio donde guardaremos los controladores
  7.                 if(!defined('CONTROLADOR_DIR')){
  8.                     define('CONTROLADOR_DIR','controladores');
  9.                 }
  10.                 if(!defined('DS')){
  11.                     define('DS','/');
  12.                 }
  13.                 require 'librerias/config.php';
  14.                 require 'librerias/router.php'; // archivo que parse las url
  15.              
  16.                
  17.                
  18.  
  19.                     $_GET = getVariables($_GET['params']);
  20.                
  21.                
  22.                
  23.                 if(!empty($_GET[0])){
  24.                    
  25.                     $nombre = utf8_decode($_GET[0]);
  26.                 }else{
  27.                     // si no se especifica nombre del controlador se llamara a una clase por defecto, asegurarse de que esta clase este disponible siempre
  28.                     $nombre = 'def';
  29.                 }  
  30.                    
  31.  
  32.  
  33.             if(!empty($_GET[$_GET[0]])){
  34.                     $accion = $_GET[$_GET[0]];
  35.                 }else{
  36.                     // meto por defecto
  37.                     $accion = 'index';
  38.                 }
  39.    
  40.                 // definidos el nombre y la accion le asignamos ubicacion y nombre del controlador
  41.                 // el nombre de controlador (nombreControlador) lleva el nombre de la clase + el string Controlador
  42.                 // para su mejor identificacion
  43.                 $archivoControlador = CONTROLADOR_DIR.DS.$nombre.'Controlador.php';
  44.                
  45.                
  46.                 if(file_exists($archivoControlador)){
  47.                     require $archivoControlador;
  48.                 }else{      
  49.                     trigger_error ($archivoControlador . ' no existe', E_USER_NOTICE);
  50.                     return false;
  51.                 }
  52.  
  53.                 if (is_callable(array($nombre, $accion)) == false){
  54.                     trigger_error ($nombre . '->' . $accion . '` no existe', E_USER_NOTICE);
  55.                     return false;
  56.                 }
  57.                
  58.                
  59.                 $controlador = new $nombre();
  60.                 $controlador->$accion($_GET);
  61.                
  62.              
  63.             }
  64.     }
  65. ?>

@abimaelrc gracias por la observacion!