Gracias Italico por tu respuesta, pero estoy experimentando, nada definitivo, no sé ni si estoy en lo correcto con lo que quiero pretender.
De momento este es el código que he confeccionado, para que veas lo que he hecho
Solo muestro el PHP del index.php, que contiene todo lo que necesita un index + spl_autoload_register y el siguiente código para dibujar una barra de navegación
Código PHP:
Ver original<div id="header">
<?php
/*
* la cabecera
*/
try{
$obj=new ReflectionMethod("modules\Head", "paint");
echo $obj->invoke(new \modules\Head);
} catch (Exception $ex) {
echo $ex;
}
?>
</div>
En modules\Head hay lo siguiente
Código PHP:
Ver original<?php
namespace modules;
class Head{
public function __construct() {}
public function paint(){
$obj=new \views\Template("navbar");
return $obj->invoke("navbar");
}
}
En views\Template hay lo siguiente
Código PHP:
Ver original<?php
namespace views;
class Template{
public function __construct($envelope) {
require_once 'html/'.$envelope.'.php';
}
public function invoke($function, $parameters=null){
}
}
Y con eso dibujo una barra de navegación.
Ahora, para presentar al usuario cualquier contenido que solicite y no uno estático, pues necesito llamar a ciegas a una clase, no de manera predefinida, sino dinámica, es decir, que el usuario introduzca variables GET para la URL y con otro try-catch detecto si existe GET, después extraigo todas las variables GET, las introduzco en un array asociativo y los paso como argumento a una clase, en esa clase voy examinando cada valor, si el primer valor corresponde a una clase pues voy pasando argumentos a la subclase de esa primera clase y así consecutivamente hasta llegar a lo que el usuario ha pedido.
Lo mismo haría con POST para el CRUD, con otro try-catch, etc.
Conozco la teoría del MVC, pero no he visto nada práctico que sea fácil de mantener, mucho código suelto es lo que he logrado, eso se puede deber a que soy un programador nefasto o que creo que se pueden hacer las cosas de otra manera, más fácil de hacer y mantener.
No he logrado ver un ejemplo de MVC claro e intuitivo. Sí, podría leer cualquier copia de Codeigniter, Laravel, etc. Pero para alguien como yo que soy tan novato en la programación, pues no me sale a cuentas, sería un martirio y terminaría cansado antes de poder lograr algún avance que me ayude a poder seguir.
Un saludo! :D