Ver Mensaje Individual
  #5 (permalink)  
Antiguo 31/12/2006, 13:32
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Re: Llamar a un método de clase desde un enlace html

Un "Controlador" no es nadamas que una clase que se encarga de realizar metodos, afectar el modelo, obtener datos, procesar datos y pasar el resultado a la vista para ser rendereado ya como html, xml, etc.

Si a lo que te refieres es un dispatcher/router, puedes iniciar con algo muy sencillo:
Código PHP:
class Router {
     public function 
__construct() {}

     public class 
route() {
           
$controller $_GET['controller'];
           
$action $_GET['action'];

           if( !
$controller $controller 'index';
           if( !
$action $action 'indexAction';
           else 
$action $action "Action";

           
$controllerLocation getcwd() . '/controllers/' $controler '.php';

           if( 
file_exists$controllerLocation ) ) {
                 include_once( 
$controllerLocation );
           } else {
                 throw new 
Exception("No se encuentra el controlador $controllerLocation");
           }

           if( 
class_exists$controllerfalse ) ) {
                  
$cont = new $controller();
           } else {
                  throw new 
Exception"Controller Class not found $controller" );
           }

           if( 
method_exits$cont$action ) ) {
                  
$cont->$action();
           } else {
                   throw new 
Exception"Action not callable $action" );
           }

           
/*Ya a partir de aqui necesitas obtener las variables desde tu 
controlador, y crear una instancia de la vista y pasarle las variables para 
renderear tu html.*/

     
}

Y asi usas tu archivo:
Código PHP:
include( "Router.php" );
$router = new Router();
$router->route(); 
y ya llamas a tu index.php:
Código:
pagina.com/index.php?controller=Clientes&action=verClientes