buenas, me han pasado una aplicación para que realice varios cambios la misma usa MVC, y esta estructurada de esta manera:
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
if(! empty($_GET['controlador'])) $controllerName = $_GET['controlador'] . 'Controller';
else
$controllerName = "IndexController";
//Lo mismo sucede con las acciones, si no hay accion, tomamos index como accion
if(! empty($_GET['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
die('El controlador no existe - 404 not found');
//Si no existe la clase que buscamos y su acción, tiramos un error 404
{
trigger_error ($controllerName . '->' . $actionName . '` no existe', E_USER_NOTICE); 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