En este artículo voy a explicar los conceptos básicos de MVC en PHP, incluyendo qué es, la estructura básica y la implementación de MVC en PHP. Espero que sea útil para los principiantes.
¿Qué es MVC?
- El Modelo-Vista-Controlador (MVC) es un patrón arquitectónico utilizado en la ingeniería de software.
- El modelo representa la información sobre la aplicación.
- La vista se asemeja a elementos de la interfaz de usuario como texto, botón, etc.
- El controlador ejecuta la intercomunicación de datos y las reglas de negocio utilizadas para gestionar los datos hacia y desde el modelo.
Una representación pictórica del patrón MVC.

Comencemos con un ejemplo básico utilizando MVC en PHP.
- Primero tenemos que crear una carpeta llamada application dentro de la carpeta www en el servidor Wamp, si estás utilizando el servidor Wamp.
- Dentro de la carpeta de la aplicación, crea las carpetas modelo, vista y controlador, y un archivo PHP llamado index.

Controlador
Crea un archivo Controller.php dentro de la carpeta controller y copia el siguiente código en él.
[sh lang="php"]
<?php
include_once("model/Model.php");
class Controller {
public $modelo;
public function __construct()
{
$this->model = new Model();
}
public function invoke()
{
$reslt = $this->model->getlogin(); // llama a la
función getlogin() de la clase modelo y almacena el valor de retorno de esta
función en la variable reslt.
if($reslt == 'Bienvenido a seamedia')
{
incluir ‘view/Welcome.php’;
}
más
{
incluir ‘view/login.php’;
}
}
}
?>[/sh]
Modelo
Crea un archivo Model.php dentro de la carpeta model y copia el siguiente código en él.
[sh lang="php"]
<?php
include_once("model/Model.php");
clase Modelo
{
public function getlogin()
{
if(isset($_REQUEST[‘user’]))
{
if($_REQUEST[‘user’]==’seamedia’)
{
return ‘Bienvenido a seamedia’;
}
más
{
return ‘No aplicable’;
}
}
}
}
?[/sh]
Ver
Crea dos archivos PHP login.php y Welcome.php dentro de la carpeta view y copia el siguiente código en ellos.
login.php
[sh lang="php"]
<html>
<head></head>
<body>
<?php
echo $reslt;
?>
<form action=”” method=”POST”>
<p>
<label>Usuario</label>
<input id="user" value="" name="user" type="text" required="required"/><br>
</p>
<p>
<button type=”submit” name=”submit”><span>Iniciar sesión</span></button>
<button type=”reset”><span>Cancelar</span></button>
</p>
</form>
</body>
</html[/sh]
Bienvenido.php
<html>
<head></head>
<body>
<?php
echo $reslt;
?
</body>
</html>[/sh]
index.php
Abre index.php y copia el siguiente código.
[sh lang="php"]
<?php
include_once("controller/Controller.php");
$controller=new Controller();
$controller->invoke();
?[/sh]
Salida
