Introduzione
Il pattern MVC (Model-View-Controller) è un pattern architetturale diffuso nei linguaggi di programmazione ad oggetti, in quanto semplifica le operazioni di divisione dei compiti nella realizzazione di un progetto.
Il suo utilizzo è molto diffuso anche in PHP, grazie alla grande quantità di framework che lo supportano nativamente: Symfony, CakePHP, Zend Framework, CodeIgniter, ecc.
I componenti
Questo pattern separa i compiti dei componenti del software in 3 ruoli principali:
- Il controller: Che si occupa di ricevere e filtrare gli input dall'utente ed effettuare le richieste al model e mostrare i dati mediante il view
- Il model che fornisce i metodi per effettuare le operazioni di accesso e modifica dei dati
- Il view che si occupa di visualizzare i dati all'utente
Vantaggi
Ciò permette di separare il codice php da quello html, e fare quindi in modo che si possa modificare la grafica dell'applicazione realizzata senza conoscenze di php.
È particolarmente utile per le applicazioni di una certa dimensione, in quanto aumenta la facilità di mantenere il codice nel tempo e di poterlo estendere in maniera molto semplice e veloce.
Svantaggi
Un pò di difficoltà nel capire inizialmente il funzionamento di questo pattern, che può risultare superfluo per progetti piccolissimi.
HTML
HTML (HyperText Markup Language) nasce per mano di Tim Berners-Lee, il costruttore del primo webserver e del primo browser, come estensione di SGML (Standard Generalized Markup Language) nel 1990.
PHP
E' una piattaforma trasversale lato server scripting language utilizzata per la creazione di pagine web dinamiche
Framework
Letteralmente 'struttura', 'intelaiatura': è un'estensione di un linguaggio di programmazione già esistente. Consiste di una collezione di classi, metodi e oggetti che estendono le potenzialità di una sintassi.