¿Que es el patrón MVC?
El patrón de diseño (de software) MVC se encarga de separar la lógica de negocio de la interfaz de usuario y es el mas utilizado en aplicaciones web, framework, etc, ya que facilita la funcionalidad, mantenibilidad, y escalabilidad del sistema, de forma comoda y sencilla, a la vez que ayuda no mezclar lenguajes de programación en el mismo código, el conocido “código espagueti”.
MVC divide las aplicaciones en tres niveles de abstracción:
MVC divide las aplicaciones en tres niveles de abstracción:
- Modelo: es la lógica de negocios. Es decir las clases y métodos que se comunican directamente con la base de datos.
- Vista: es la encargada de mostrar la información al usuario, con de forma gráfica y legible.
- Controlador: el intermediario entre la vista y el modelo, se encarga de controlar las interacciones del usuario en la vista, pide los datos al modelo y los devuelve de nuevo a la vista para que esta los muestre al usuario. Es decir las llamadas a clases y métodos, y los datos recibidos de formularios.
¿Como funciona el MVC?
El funcionamiento básico del patrón MVC, puede resumirse en:
- El usuario realiza una petición.
- El controlador captura la petición.
- Hace la llamada al modelo correspondiente.
- El modelo sera el encargado de interactuar con la base de datos.
- El controlador recibe la información y la enviá a la vista.
- La vista muestra la información.
LISTADO DE ARTICULOS
DESCRIPCION | SECCION | PRECIO |
destornillador | herramientas | 32.00 |
balon barcelona | deportes | 30.00 |
botas madrid | deportes | 20.00 |
martillo | herramientas | 21.00 |
lazo | deportes | 13.43 |
index.php
<html>
<body>
<?php
require_once("controlador/articulos_controlador.php")
?>
</body>
</html>
-----------------------------------------------------------------------------------
modelo/conectar.php
<?php
class Conectar{
public static function conexion(){
try {
$conexion=new PDO('mysql:host=localhost; dbname=ejemplo', 'root', '123456');
$conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conexion->exec("SET CHARACTER SET UTF8");
} catch (Exception $e) {
die("Error" . $e->getMessage());
echo "Linea del error" . $e->getLine();
}
return $conexion;
}
}
?>
---------------------------------------------------------------------
modelo/articulos_modelo.php
<?php
class Articulos_modelo {
private $db;
private $articulos;
public function __construct(){
require_once("modelo/conectar.php");
$this->db=Conectar::conexion();
$this->articulos=array();
}
public function get_articulos() {
$consulta=$this->db->query("select * from articulos");
while($filas=$consulta->fetch(PDO::FETCH_ASSOC)) {
$this->articulos[]=$filas;
}
return $this->articulos;
}
}
?>
-------------------------------------------------------------------------------------
controlador/articulos_controlador.php
<?php
require_once("modelo/articulos_modelo.php");
$articulo=new Articulos_modelo();
$matrizArticulo=$articulo->get_articulos();
require_once("vista/articulos_vista2.php");
-------------------------------------------------------------------------
vista/articulos_vista2.php
<html>
<head>
</head>
<body>
<h1 align="center">LISTADO DE ARTICULOS</h1>
<table width="70%" border="1px" align="center"
<table width="90%" border="1px" align="center">
<tr bgcolor="orange"><td>DESCRIPCION</td><td>SECCION</td><td>PRECIO</td></tr>
<?php
foreach($matrizArticulo as $registro): ?>
<tr><td><?php echo $registro["descripcion"] ?> </td><td><?php echo $registro[seccion]?> </td><td align="right"> <?php echo $registro[precio]?></td></tr>
<!--echo $registro["descripcion"] .' '. $registro[seccion].' '. $registro[precio].'<br>';-->
<?php endforeach ?>
</table>
</body>
</html>
UN EJEMPLO SIMPLE SIN MVC
<?php
require "conexion.php";
$conexion = new mysqli($host,$user,$pass,$baseDatos);
if($conexion->connect_errno)
{
echo "Error de conexion de la base datos".$conexion->connect_error;
exit();
}
$sql = "select * from medicos";
$resultado = $conexion->query($sql);
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1 align="center">LISTADO DE MEDICOS</h1>
<table width="70%" border="1px" align="center">
<tr align="center">
<td>Codigo</td>
<td>Identificacion</td>
<td>Nombre</td>
<td>Apellidos</td>
<td>Especialidad</td>
<td>Telefono</td>
<td>Correo</td>
</tr>
<?php
while($datos=$resultado->fetch_array()){
?>
<tr>
<td><?php echo $datos["idMedico"]?></td>
<td><?php echo $datos["medIdentificacion"]?></td>
<td><?php echo $datos["medNombres"]?></td>
<td><?php echo $datos["medApellidos"]?></td>
<td><?php echo $datos["medEspecialidad"]?></td>
<td><?php echo $datos["medTelefono"]?></td>
<td><?php echo $datos["medCorreo"]?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
Comentarios
Publicar un comentario