Intentando resolver el problema planteado en esta entrada, me había puesto a crear (con mucha ayuda) un sistema MVC personalizado para aplicaciones PHP tal como se muestra en esta otra entrada. Tambien consideré aprender a fondo Codeigniter e incluso Laravel. Después de darle vueltas al asunto me he propuesto crear una arquitectura parecida a la MVC pero un poco más sencilla, que permita implementar buenas practicas de programación. Las principales características de esta opción son las siguientes:
- No usa POO. Me parece que con la programación estructurada se mantiene más sencillo el código y a efectos prácticos, para los proyectos que pienso manejar, funciona bien.
- Se divide el proyecto en dos bloques: Del lado dl cliente y del lado del servidor.
- Se elimina el controlador principal que se usa en la arquitectura MVC.
- Básicamente solo quedan las vistas y los modelos, las cuales se encuentran en carpetas distintas pero tienen los mismos nombres. Los controladores individuales se ha fusionado con el modelo pero su presencia es casi inperceptible.
- Siempre se invoca primero el modelo y luego la vista: siempre en ese orden.
![]() |
| Estructura de la carpeta |
El siguiente código es mi versión personalizada de una aplicación hecha con la arquitectura personalizada que he planteado.
index.php
<a href="mo/estudiante_listar.php"> Listar </a>
mo/a_conectar.php
<?php
if (!($link=mysqli_connect("localhost","root","9810402254")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysqli_select_db($link,"colegio"))
{
echo "Error seleccionando la base de datos.";
exit();
}
?>
mo/estudiante_listar.php
<?php
$dato = array();
require("a_conectar.php");
$rs = mysqli_query($link," select * from estudiantes ");
while($f = mysqli_fetch_array($rs))
{
$dato[] = $f;
}
mysqli_free_result($rs);
mysqli_close($link);
require("../vi/estudiante_listar.php");
?>
vi/estudiante_listar.php
<table> <tr> <td>ID</td> <td>NOMBRES</td> <td>APELLIDOS</td> </tr> <?php foreach ($dato as $d): ?> <tr> <td><?php echo $d['id'] ?></td> <td><?php echo $d['nombres'] ?></td> <td><?php echo $d['apellidos'] ?></td> </tr> <?php endforeach; ?> </table>

No hay comentarios.:
Publicar un comentario