Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2016, 22:08
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Estructurar Sistema en PHP

Hola a todos, quería hacerles la siguiente consulta, verán estoy usando el patrón MVC estructurado de esta forma:

App
Clases
Controller
Lib
Model
Public
View
index.php

pero quiero tratar de hacer esto:

App
Lib
Public
Src
->
BackendBundle
->
Clases
Controller
Model
View
->
FrontendBundle
->
Clases
Controller
Model
View

->
ClienteBundle
->
Clases
Controller
Model
View
index.php

Pero soy consciente que tengo que cambiar el Controller.php y el index.php

Controller.php

Código PHP:
Ver original
  1. public function redirect($route=array(),$dates = array()) {
  2.         try {
  3.             $folder= (count($route)>1) ? $route[0] : $this->deleteWordController();
  4.             $file= (count($route)>1) ? $route[1] : $route[0];
  5.             $path = $this->createFile(APPLICATION_PATH . DS . "View" . DS . $folder. DS . $file,$dates);
  6.             echo $this->createFile(APPLICATION_PATH . DS . 'Public'. DS .'layout.php', array('content' => $path));            
  7.         }
  8.         catch (Exception $ex) {
  9.             echo $ex->getMessage();
  10.         }      
  11.     }

index.php

Código PHP:
Ver original
  1. <?php
  2.     define("APPLICATION_PATH", dirname(__FILE__));
  3.     define("DS", DIRECTORY_SEPARATOR);
  4.     spl_autoload_register(function($clase){
  5.         try {
  6.             $rootPath = dirname(__FILE__);
  7.             $file = realpath($rootPath . DS . str_replace("\\", DS, $clase) . ".php");
  8.             require_once $file;        
  9.         }  
  10.         catch (Exception $ex){
  11.             echo $ex->getMessage();
  12.         }
  13.     });
  14.     $controlador = (!empty($_GET['c'])) ? ucwords($_GET['c']) . 'Controller' : "MainController";
  15.     $accion = (!empty($_GET['a'])) ? $_GET['a'] : "index";
  16.     try{
  17.         $controlador = "Controller\\" . $controlador;        
  18.         $controlo = new $controlador();
  19.         $controlo->$accion();
  20.     }
  21.     catch (Exception $ex) {
  22.         echo $ex->getMessage();
  23.     }

Mis preguntas son:

¿cómo hacer tanto en Controller.php cómo en index.php para armar la ruta del src/CarpetaBundle/??? ¿tanto para obtener el controlador como la vista del bundle ya sea del backend o no?

la otra pregunta es:

¿lo que quiero hacer seguirá siendo MVC o pasará a ser HMVC?

Espero sus respuestas y Saludos.