Zend_Auth_Adapter_DbTable Nel precedente articolo abbiamo analizzato i diversi componenti che concorrono alla realizzazione del sistema di autenticazione utente presente nello Zend Framework. In particolare abbiamo visto come il controllo delle credenziali dell’utente avviene grazie ad una classe detta Adapter. Tra gli Adapter già presenti nello Zend Framework vi è Zend_Auth_Adapter_DbTable che può essere usato per confrontare lo username e la password forniti dall’utente con quelli memorizzati in una tabella di un database.
NewsController Siamo finalmente arrivati all’ultima parte di questa serie di articoli dedicati alla realizzazione di una applicazione con lo Zend Framework. Dobbiamo analizzare il funzionamento del NewsController, il cuore della nostro sito web, che si occupa della visualizzazione, inserimento, modifica e cancellazione delle news. Di seguito viene riportata la struttura del Controller che sarà analizzata in dettaglio nelle prossime pagine.
class NewsController extends Zend_Controller_Action { protected $_flashMessenger = null; public function init() { // istruzioni.
Model Poiché tutte le funzionalità del sito che stiamo realizzando fanno accesso ai dati presenti nel database, prima di realizzare i Controller del nostro progetto analizziamo il funzionamento del Model, ovvero della classe responsabile di tutte le operazioni eseguite direttamente sulla base di dati. Per realizzare il Model adotteremo il classico approccio di una applicazione PHP/MySQL basato sull’esecuzione esplicita di query attraverso lo Zend_Db_Adapter.
Il Model per la gestione delle news sarà quindi una classe con un metodo per ciascuna funzionalità fondamentale sui dati della news: getAllNews per lettura di tutte le news (per la home-page), getNewsById per lettura di una singola news (impiegata nelle pagine di visualizzazione e modifica di una singola news), insertUpdateNews per l’inserimento e la modifica e deleteNews per la cancellazione.
Struttura del progetto Nel precedente articolo abbiamo cominciato a vedere quali sono gli elementi che costituiscono la nostra applicazione web realizzata con lo Zend Framework. Abbiamo detto che sono necessarie delle classi di tipo Controller per ciascun gruppo di funzionalità correlate, un Controller per gestire la home page (IndexController) ed un altro per la pagina di errore (ErrorController). Abbiamo detto poi che avremmo utilizzato diversi file per conservare i template HTML e uno o più classi Model per effettuare l’accesso ai dati.
Dopo anni di onorato servizio l’estensione ext/mysql esce di scena lasciando il compito di permettere l’interazione tra PHP e MySQL alla nuova estensione ext/mysqli.
Georg Richter, il responsabile dello sviluppo di questa libreria, ha affermato in una intervista che il codice di ext/mysql, a causa delle continue modifiche ed aggiornamenti subiti nel corso degli anni, era diventato praticamente illeggibile e ciò ha reso la sua manutenzione sempre più difficile.
E' stato necessario riscrivere questa estensione anche a causa delle numerose caratteristiche del nuovo MySQL 4.
Quando un progetto PHP orientato agli oggetti inizia a crescere e le righe di codice aumentano a dismisura lo sviluppatore inizia a mettere le definizioni di ciascuna classe in files distinti, salvati magari in una cartella apposita. Questa è certamente una buona norma ma porta ad un proliferare di istruzioni di inclusione che spesso vengono poste all’inizio delle pagine. Alcune di queste inclusioni possono risultare inutili se caricano classi che verranno istanziate sono in particolari situazioni.
phpMyAdmin è il più potente strumento per l’amministrazione di database MySQL scritto in PHP. Con phpMyAdmin si ha a disposizione una applicazione web in grado di soddisfare le più disparate esigenze di gestione e manipolazione del DBMS Open Source più popolare. Potremo creare database e tabelle, gestirne il contenuto, amministrare gli utenti, effettuare e ripristinare backup, lanciare singole query o interi file SQL, esportare i dati in vari formati ed effettuare tante altre operazioni avanzate.
Niente panico! Nonostante il numero e la valenza delle novità introdotte con PHP 5 sia impressionante, questa nuova versione non stravolge il modo di lavorare con PHP. Tutto ciò che avete imparato a fare con PHP 4 rimane valido, salvo qualche piccola eccezione, anche per PHP 5.
Perché allora si sente parlare di compatibilità degli script con PHP 5? Uno dei principali motivi per cui alcune applicazioni hanno problemi a girare con la nuova versione di PHP sta nella rinnovata gestione degli oggetti e nel modo in cui vengono passati come parametri alle funzioni.