5. MVC
El Patró MVC en PHP
El patró Model-View-Controller (MVC) és fonamental per a construir aplicacions PHP escalables i fàcils de mantenir. La seva funció principal és la separació de preocupacions, dividint l'aplicació en tres capes:
-
Model (M): Gestiona les dades i la lògica de negoci (interacció amb la BD, validacions).
-
Vista (V): S'encarrega de la presentació i la interfície d'usuari (HTML, CSS).
-
Controlador (C): Actua com a intermediari, rebent peticions, cridant al Model i seleccionant la Vista adequada.
Aquesta separació ofereix avantatges clau:
-
Organització: Codis clars i estructurats, facilitant la localització de la lògica.
-
Manteniment i Evolució: Permet modificar la BD (Model) o el disseny (Vista) sense trencar la lògica de control (Controlador).
-
Treball en Equip: Diferents desenvolupadors poden treballar simultàniament en diferents capes (ex: dissenyadors a la Vista, programadors a Model/Controlador).
En definitiva, el MVC transforma el desenvolupament PHP d'una col·lecció de scripts interconnectats en un sistema modular i professional.
Via include, require
Estructura bàsica MVC
Aquí tens l'esquema de l'estructura de directoris i arxius del projecte MVC, tal com es desprèn d...
Front controller: index.php
L'arxiu index.php faria d'entrada a l'aplicació i serà l'encarregat de carregar els arxius necess...
config\db.php
Aquí tens el contingut de l'arxiu de configuració de la base de dades, db.php, que defineix les c...
config\Database.php
Per millorar la gestió de la base de dades i fer el codi més robust i reutilitzable, crearem una ...
Els controllers
A continuació, tenim els dos controladors presents en l'estructura MVC: el controlador de la pàgi...
Els models
Amb la classe Database orientada a PDO, el Model es transforma per utilitzar sentències preparade...
Les vistes
Les vistes són la part de l'MVC que conté el codi de presentació (HTML, CSS i JavaScript). L'únic...
Amb classes
Estructura bàsica
Aquesta aplicació seguirà l'estructura del patró Model-View-Controller (MVC) i requereix una orga...
Front controller: index.php
Aquest Front Controller (index.php), utilitza el patró de disseny Model-View-Controller (MVC) i ...
Loader
Aquí teniu el codi de la classe Loader i una explicació detallada del seu funcionament. Aquest és...
Configuració: db.php i database.php
L'arxiu de configuració db.php és simple i defineix en forma d'array la configuració de la connex...
Els controllers
Per adaptar i millorar els controladors, implementarem una petita millora que fa ús de la classe ...
Els models
El model Mdl_users.php per migrar completament de l'extensió obsoleta mysqli a l'objecte PDO (PHP...
Les vistes
Aqui tenim les vistes existents i les detallem per adaptar-les a l'estructura de controladors i l...
MVC Class, source code
Estructura directoris mvc_class/ ├── App/ │ ├── config/ │ │ └── db.php │...