Zend Framework

Utilizzare il filtro antispam di Akismet con PHP

Akismet è un servizio di filtraggio dello spam offerto dalla Automattic, l’azienda maggiormente impegnata nello sviluppo di Wordpress. In questo articolo vedremo come invocare Akismet nei nostri script PHP per ricevere una valutazione sulla bontà dei commenti inviati dagli utenti attraverso un classico form HTML. Il servizio di filtraggio di Akismet è gratuito per utilizzo personale, previa registrazione a questo indirizzo. Completata la registrazione si riceverà via mail un codice personale che, come vedremo negli esempi tra breve, servirà per avere accesso al servizio.

Installare PHP

In questo articolo vedremo quali sono i metodi e gli strumenti che abbiamo a disposizione per installare PHP sul nostro computer. Prenderemo in considerazione sia i principali pacchetti software autoinstallanti, sia le procedure manuali adatte ai diversi sistemi operativi. Zend Server Come suggerisce il nome, Zend Server nasce in casa Zend, azienda leader nel panorama PHP e principale sostenitore dello sviluppo del linguaggio. Disponibile per Windows, Linux e Mac OS X, Zend Server è adatto a preparare sia un PC di sviluppo sia un server di produzione.

Invio di email usando Zend_Mail

Questo articolo illustra come utilizzare lo Zend Framework per realizzare un form di invio email, utile ad esempio agli utenti per contattare l’amministratore del sito oppure per segnalare una pagina del sito ad amici. Zend Framework fornisce tutti gli oggetti necessari allo scopo, oggetti che possono essere usati singolarmente, al di fuori di una applicazione MVC. L’uso di un framework non deve spaventare coloro che non si sentono degli esperti nella programmazione in PHP.

Autenticare gli utenti con Zend_Auth - 2

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.

Autenticare gli utenti con Zend_Auth - 1

Introduzione L’autenticazione degli utenti è una delle funzionalità più diffuse nelle applicazioni web. Questa operazione, comunemente chiamata login, si basa sul controllo delle credenziali fornite e non deve essere confusa con la gestione delle autorizzazioni, processo con cui si stabilisce se un utente (già identificato) possiede i diritti per accedere ad una particolare risorsa. Lo Zend Framework offre due componenti per la gestione dell’autenticazione e delle autorizzazioni, rispettivamente lo Zend_Auth e lo Zend_Acl.

Zend Framework Tutorial - 5

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.

Zend Framework Tutorial - 4

IndexController Dopo aver analizzato la classe Model che gestisce tutta l’interazione con il database, possiamo finalmente iniziare a vedere i Controller della nostra applicazione ed i template HTML associati. Abbiamo detto che i Controller sono classi costituite da Action, metodi che vengono automaticamente richiamati dal Front Controller per svolgere una particolare funzionalità del sito, associata ad un URL richiesto dall’utente. Cosa ci aspettiamo di trovare quindi in una Action? Generalmente una Action preleva eventuali dati presenti nella richiesta effettuata dall’utente (come i dati GET e POST), richiama uno o più Model per interagire col database e mostra il risultato del suo operato caricando (implicitamente o esplicitamente) un template a cui passa i dati dinamici da visualizzare.

Zend Framework Tutorial - 3

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.

Zend Framework Tutorial - 2

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.

Zend Framework Tutorial - 1

Introduzione Lo Zend Framework è una completa collezione di classi da impiegare nella realizzazione di applicazioni PHP di media e grande complessità. Ci sono classi per tutte le esigenze quindi è inutile provare a farne un elenco dettagliato e descriverne il funzionamento. Il modo migliore per scoprire lo Zend Framework è invece realizzare con esso una piccola applicazione e quindi in questo tutorial vedremo come costruire un sito web in grado di mostrare delle news, gestite dinamicamente dall’utente, e conservate in un database MySQL.