You are on page 1of 2

FrameWork MVC in PHP

Il controller interpreta i dati in input provenienti dall'utente. Il controller uno script associato ad una determinata azione (URL) che carica i modelli appropriati e renderizza il risultato sulla vista corretta Ogni singolo modello contiene solamente i dati e le funzionalit che sono relative ad un concetto comune. In caso di dati rappresentanti informazioni differenti, questi saranno rappresentati a loro volta da modelli differenti. Un modello si occupa anche di controllare l'effettiva validit dei dati assegnati e l'effettiva correttezza dell'ordine in cui sono effettuate le operazioni su di lui. Un modello pu avere molteplici viste associate ed ognuna di queste viste pu visualizzare i dati del modello utilizzando rappresentazioni diverse in base al contesto. I componenti principali del framework saranno i seguenti: PersistentObject: oggetto che esporr una serie di funzionalit che gli permetteranno di essere salvato e recuperato automaticamente da un database SQL. Non fornir le funzionalit avanzate di un framework di persistenza, ma si limiter ad esporre alcuni getter/setter utili e strumenti per la serializzazione/deserializzazione dell'oggetto. Model: rappresenta una versione speciale di PersistentObject che aggiunge strumenti per la validazione dei dati. Tutti i modelli utilizzabili dai componenti e renderizzabili dalle viste verranno estesi da questa classe base. Template: rappresenta un template testuale che verr analizzata ed interpretata in modo da renderizzare i dati assegnati in fase di costruzione. Per semplificare la stesura dell'engine i template saranno dei file XML contenenti attributi speciali per controllare la generazione delloutput. Controller: rappresenta un insieme di azioni che potrebbero essere intraprese dall'utente. Ogni azione verr rappresentata da un metodo definito nelle classi che estenderanno Controller; i metodi verranno richiamati in base a determinate condizioni e dovranno restituire una stringa che verr inviata in output all'utente (solitamente un Template renderizzata). Ogni metodo potr avere un commento opzionale nel quale potranno essere assegnate delle propriet specifiche per la singola azione (come ad esempio i permessi di accesso - che verranno per implementati in un secondo momento). Router: il router una classe che si occupa di rimappare le richieste HTTP a chiamate alle azioni dei controller. Inizialmente implementeremo un router nel quale andranno registrate esplicitamente le mappature tra URL e azioni; successivamente estenderemo il concetto ed implementeremo un router che analizzer determinate directory del filesystem per recuperare, in base all'URL richiesto, il controller corretto.

Application: rappresenta il collante tra PHP ed il framework MVC. Verr implementato come singleton e conterr tutte le informazioni sullo stato delle chiamate e delle richieste HTTP.

You might also like