Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/01/2011, 11:56
Avatar de cesarpunk
cesarpunk
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Duda con FrontController

Chequeando el manual, he visto una clase muy interesante:

Código PHP:

<?php
class autoload_autoloader {
    public static 
$instance;
    private 
$_src=array('controladores/''modelos/''config/');
    private 
$_ext=array('.php''.class.php''Controller.php');
    
    public static function 
init(){
        if(
self::$instance==NULL){
            
self::$instance=new self();
        }
        return 
self::$instance;
    }

    private function 
__construct(){
        
spl_autoload_register(array($this'clean'));
        
spl_autoload_register(array($this'dirty'));
    }
    
    private function 
clean($class){
        global 
$docroot;
        
$class=str_replace('_''/'$class);
        
spl_autoload_extensions(implode(','$this->_ext));
        foreach(
$this->_src as $resource){
            
set_include_path($docroot $resource);
            
spl_autoload($class);
        }
    }
    
    private function 
dirty($class){
        global 
$docroot;
        
$class=str_replace('_''/'$class);
        foreach(
$this->_src as $resource){
            foreach(
$this->_ext as $ext){
                @include(
$docroot $resource $class $ext);
            }
        }
        
spl_autoload($class);
    }

}

?>
Supongo que la idea es que ya no se usen los requires en las clases que la usen pero donde la inicializo? en el index de mi aplicación?... intenté asi (trabajando en localhost):

Código PHP:

$docroot 
'http://localhost/';
require 
'config/Autoloader.php';
require 
'config/FrontController.php';

autoload_autoloader::init();
FrontController::main(); 
Pero aún me sale un error Fatal error: Class 'Cliente' not found in ... Espero me puedan ayudar y disculpen por tantas preguntas
__________________
Quitenme la vida pero no la bebida.