Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2015, 13:49
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Amnesia MVC PDO

Hola a todos, quería hacertes una consulta:
En el archivo MainController, lo tengo en la sgte ruta: /app/controller/MainController.php
y con este código:
<?php
/**
* @author detectivejd
*/
class MainController {
public static function main() {
//Cargo clases útiles
require_once './app/model/dbPdo.php';
require_once './app/view/Vista.php';
require_once './app/util/Sesion.php';
//Cargo automáticamente todas las clases del dominio
function mi_auto($clase){
require_once 'clases/' . $clase . '.php';
}
spl_autoload_register('mi_auto');
$get_c=filter_input(INPUT_GET, 'c');
$get_a=filter_input(INPUT_GET, 'a');
//Formamos el nombre del Controlador o en su defecto, tomamos que es el IndexControlador
$controlador= (!empty($get_c)) ? $get_c . 'Controlador' : "IndexControlador" ;
//Lo mismo sucede con las acciones, si no hay accion, tomamos index como accion
$accion = (!empty($get_a)) ? $get_a : "index";
//Incluimos el archivo que tiene la clase controladora solicitada
$backend = "backendbundle/controller/" . $controlador . ".php";
if (is_file($backend)) {
require_once $backend;
}
else {
die("El controlador " . $controlador . " no existe - 404 not found");
}

//Si no existe la clase que buscamos y su accion, tiramos un error 404
if (is_callable(array($controlador, $accion)) == false) {
trigger_error($controlador . '->' . $accion . ' no existe', E_USER_NOTICE);
return false;
}
//Si todo está bien, creamos una instancia del controlador y llamamos a la acción
$controlo = new $controlador();
$controlo->$accion();
}
}

En la parte que marque con rojo tengo problemas xq en el proyecto lo tengo así:

app (para todo lo gral del sistema)
- controller
-IndexController.php
-MainController.php (vendría a ser principalcontroller)
- layout
- model
-config.php
-dbPdo.php
- util
-Sesion.php
- view
-Vista.php
backendbundle (para las acciones del administrador)
- controller
- model
- util
- view
backendbundle (para las acciones del usuario simple)
- controller
- model
- util
- view
public (para las hojas de estilo e imágenes)
- css
- img
- js

y no sé cómo encarar para que método main para hacer que me tome la ruta de los controladores de los distintos bundles.
Espero tu respuesta y saludos.
PD: Pretendo hacerlo a mano para no embromar a nadie de mis compañeros xq creo que no se pueden usar frameworks donde estoy estudiando.