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.

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.
Mvc Img1

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

Mv Login1