core/
FrontController.php
controladores/
.....itemsControlador.php
modelos/
.....itemsModelo.php
vistas/
.....listar.php
index.php
el FrontController.php es asi:
Código php:
Ver original
< ?php class FrontController { static function main() { //Incluimos algunas clases: require 'libs/Config.php'; //de configuracion require 'libs/SPDO.php'; //PDO con singleton require 'libs/View.php'; //Mini motor de plantillas require 'config.php'; //Archivo con configuraciones. //Con el objetivo de no repetir nombre de clases, nuestros controladores //terminaran todos en Controller. Por ej, la clase controladora Items, será ItemsController //Formamos el nombre del Controlador o en su defecto, tomamos que es el IndexController $controllerName = $_GET['controlador'] . 'Controller'; else $controllerName = "IndexController"; //Lo mismo sucede con las acciones, si no hay accion, tomamos index como accion $actionName = $_GET['accion']; else $actionName = "index"; $controllerPath = $config->get('controllersFolder') . $controllerName . '.php'; //Incluimos el fichero que contiene nuestra clase controladora solicitada require $controllerPath; else //Si no existe la clase que buscamos y su acción, tiramos un error 404 { return false; } //Si todo esta bien, creamos una instancia del controlador y llamamos a la accion $controller = new $controllerName(); $controller->$actionName(); } } ?>
y el index.php es:
Código php:
Ver original
< ?php //Incluimos el FrontController require 'libs/FrontController.php'; //Lo iniciamos con su método estático main. FrontController::main(); ?
La cuestión es que me han pedido que separe el frontend y el backend para que no este todo en un mismo lugar, estuve viendo algunos FW (cake, codeigniter, etc) si tenían alguna separación de estructura así pero no vi.
Entonces mi duda es si yo separo la estructura asi:
core/
FrontController.php
website/controladores/
.....itemsControlador.php
website/modelos/
.....itemsModelo.php
website/vistas/
.....listar.php
index.php
admin/controladores/
.....itemsControlador.php
admin/modelos/
.....itemsModelo.php
admin/vistas/
.....listar.php
admin/index.php
1- el index.php del backend, tiene que ser igual al index del root.
2- para saber a que controller redireccionar si al backend o al frontend en el frontcontroller debería preguntar por ejemplo si la session del backend no esta vacia setear las rutas al backend sino al frontend.
Desde ya muchas gracias