0

Cómo Crear un Sistema MVC en PHP desde Cero (Sin Frameworks)

Comparte

📄 Contenido:

El patrón MVC (Modelo-Vista-Controlador) es ampliamente utilizado en el desarrollo web para separar la lógica de negocio, la presentación y la gestión de las solicitudes. En este tutorial, te enseñaremos a crear un sistema MVC en PHP puro, sin frameworks, desde cero.


🌐 ¿Qué es el patrón MVC?

MVC es una arquitectura de software que divide la aplicación en tres componentes principales:

  • Modelo (Model): Gestiona los datos y la lógica de la aplicación.
  • Vista (View): Se encarga de la presentación de los datos.
  • Controlador (Controller): Recibe las peticiones del usuario, procesa los datos (utilizando el modelo) y devuelve la respuesta (vista).

⚙️ Paso 1: Estructura del Proyecto

La estructura básica de un sistema MVC en PHP será la siguiente:

/miProyecto
    /controllers
        - HomeController.php
    /models
        - User.php
    /views
        - home.php
    /core
        - Controller.php
        - Model.php
    index.php

⚡ Paso 2: Crear el archivo index.php

Este archivo será el punto de entrada de la aplicación y manejará las solicitudes del usuario.

<?php
// Cargar la clase de controlador
require_once 'core/Controller.php';
require_once 'core/Model.php';

// Definir controlador por defecto
$controller = isset($_GET['controller']) ? $_GET['controller'] : 'home';
$action = isset($_GET['action']) ? $_GET['action'] : 'index';

// Incluir el controlador solicitado
require_once "controllers/{$controller}Controller.php";

// Crear una instancia del controlador y ejecutar la acción
$controllerName = ucfirst($controller) . 'Controller';
$controllerObj = new $controllerName();
$controllerObj->$action();
?>

🔑 Paso 3: Crear el archivo de la clase Controller.php

Este archivo gestionará la lógica común de todos los controladores.

<?php
// Core/Controller.php
class Controller {
    // Función para cargar las vistas
    public function view($view, $data = []) {
        extract($data);
        require_once "views/{$view}.php";
    }
}
?>

🔑 Paso 4: Crear el archivo de la clase Model.php

Esta clase manejará la lógica relacionada con la base de datos.

<?php
// Core/Model.php
class Model {
    // Función para obtener la conexión a la base de datos
    protected function connect() {
        return new PDO('mysql:host=localhost;dbname=mvc', 'root', '');
    }
}
?>

⚡ Paso 5: Crear un controlador (HomeController.php)

Este controlador manejará las solicitudes relacionadas con la página principal.

<?php
// Controllers/HomeController.php
require_once 'core/Controller.php';

class HomeController extends Controller {
    public function index() {
        $data = ['message' => '¡Bienvenido al sistema MVC en PHP!'];
        $this->view('home', $data);
    }
}
?>

⚡ Paso 6: Crear una vista (home.php)

Esta vista mostrará el mensaje al usuario.

<!-- Views/home.php -->
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Aplicación MVC</title>
</head>
<body>
    <h1><?php echo $message; ?></h1>
</body>
</html>

✅ Conclusión

¡Y listo! Ahora tienes un sistema básico MVC en PHP funcionando sin necesidad de frameworks. Puedes ampliar este sistema agregando más controladores, modelos y vistas según sea necesario.


🔐 ¿Qué más puedes hacer?

  • Agregar rutas dinámicas para un manejo de URLs más eficiente.
  • Implementar un sistema de base de datos completo con modelos y controladores.
  • Crear un sistema de autenticación y autorización para usuarios.




codigo fuente gratis

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *