0% encontró este documento útil (0 votos)
274 vistas5 páginas

MVC en PHP: Guía de Implementación

Este documento explica el modelo vista controlador (MVC) en PHP. MVC divide las aplicaciones en tres capas: modelo (lógica de negocio y base de datos), vista (interfaz de usuario), y controlador (intermediario entre modelo y vista). Explica cómo implementar MVC en PHP creando una estructura de archivos con modelos, vistas y controladores, y provee un ejemplo completo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
274 vistas5 páginas

MVC en PHP: Guía de Implementación

Este documento explica el modelo vista controlador (MVC) en PHP. MVC divide las aplicaciones en tres capas: modelo (lógica de negocio y base de datos), vista (interfaz de usuario), y controlador (intermediario entre modelo y vista). Explica cómo implementar MVC en PHP creando una estructura de archivos con modelos, vistas y controladores, y provee un ejemplo completo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Modelo vista controlador (MVC) en PHP

En programación, podemos encontrarnos con distintas formas de organizar la lógica y el código de


nuestro software. Es recomendable encontrar una buena forma, para evitar cometer uno de los errores
más complicados de arreglar, no poseer un código ordenado y bien aplicado.
El paradigma modelo vista controlador (MVC) es un patrón de diseño que separa el código en tres
capas. Utilizar un patrón de diseño a menudo es muy recomendable, ya que es una forma estandarizar
nuestro código, optimizarlo y hacer que sea más legible.

MVC divide las aplicaciones en tres niveles de abstracción:


1. Modelo: es la lógica de negocios. Es decir las clases y métodos que se comunican directamente
con la base de datos.
2. Vista: es la encargada de mostrar la información al usuario, de forma gráfica y legible.
3. 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:
1. El usuario realiza una petición.
2. El controlador captura la petición.
3. Hace la llamada al modelo correspondiente.
4. El modelo sera el encargado de interactuar con la base de datos.
5. El controlador recibe la información y la enviá a la vista.
6. La vista muestra la información.

Fuente: phpzag.com
¿Como implementar el MVC en PHP?
Para implementar el MVC es imprescindible crear una estructura de ficheros parecida a esta:

Veamos un ejemplo típico del uso del MVC con PHP.

Fichero: index.php

<?php
require_once("db/db.php");
require_once("controllers/personasController.php");
?>

Fichero: db.php

<?php
class Conectar{
public static function getConexion(){

require_once("config.php");
try {
$dsn = "mysql:host=".$params['host'].";dbname=".$params['dbname'];
$dbh = new PDO($dsn, $params['user'], $params['password']);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch (PDOException $e){
echo $e->getMessage();
return false;
}
return $dbh;
}
}
?>

Fichero: model/personasModel.php

<?php
class personasModel{
private $con;

public function __construct(){


$this->con=Conectar::getConexion();
}
public function getPersonas(){
$stmt=$this->con->prepare("select * from personas;");

$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
?>

Fichero: contoller/personasController.php

<?php
//Llamada al modelo
require_once("models/personasModel.php");
$per=new personasModel();
$datos=$per->getPersonas();

//Llamada a la vista
require_once("views/personas_view.phtml");
?>
El controlador debe tener siempre esta estructura llamada al modelo y debajo a la vista, si hubiera mas
modelos y vistas se sigue haciendo así con todos.

Fichero: view/personas_view.phtml

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8" />
<title>Personas</title>
</head>
<body>
<?php
foreach ($datos as $dato) {
echo $dato["nombres"]."<br/>";
}
?>
</body>
</html>

Fichero: config.php

<?php
$params = array(
'user'=>"root",
'dbname'=>"dbpruebas",
'password'=>"123456",
'host'=>"localhost"
);

?>

También podría gustarte