PHP  »  Articoli  »  Framework 

dooPHP, il veloce framework per PHP

di: Ciro Marotta     04 Novembre 2011

Questo articolo fa parte di una serie dedicata alla comparazione di Framework PHP.

DooPHP

DooPhp si presenta come uno dei tanti framework che promette di produrre tanto scrivendo pochissimo codice. Il framework supporta esclusivamente le versioni di Php a partire dalla 5.1. Questa cosa esclude il suo utilizzo se si dispone di una versione precedente del Php, compresa la 5.0.

Installazione

Dopo avere scaricato il framework si è quasi pronti a lavorare. Scompattando i file nella directory di lavoro vi troverete di fronte a tre cartelle. Quella che ci interessa è la cartella app che contiene la nostra applicazione. In queste condizioni l'applicazione sarà disponibile all'indirizzo http://nomehost/cartellaDooPhp/app/. Per rendere le cose più semplici conviene modificare il file common.conf che si trova nella cartella protected/config e modificare i valori delle costanti SITE_PATH e BASE_PATH in base alle vostre esigenze.

Pattern MVC

DooPhp supporta nativamente il pattern MVC. Infatti all'interno della cartella app troverete le tre sottocartelle corrispondenti: controller, model e view. Ogni controller è una classe estesa della classe base DooController. In esso ci sono le varie azioni richieste. Ogni azione corrisponde ad un metodo. Il metodo index rappresenta l'azione di default per quel controller. Per accedere al controller basta puntare al seguente indirizzo: index.php/nomecontroller/azione

In caso l'azione sia omessa viene attivato il metodo index. È ovviamente possibile passare parametri via query string al controller. Ci sono due modi per farlo: il tradizionale e quello proprio del framework. Nel primo caso è ovviamente sufficiente aggiungere la sintassi index.php/nomecontroller/azione/?par1=val1&par2=val2.

Niente di nuovo.

Una comoda caratteristica del framework invece, probabilmente inclusa per ottenere url "seo friendly", è quella di passare i parametri semplicemente accodandoli all'url e dividendoli con il carattere di slash "/". L'esempio precedente diventa: index.php/nomecontroller/azione/val/val2.

Questi parametri li ritroveremo nella proprietà del controller params.

Passiamo ora alla nota dolente delle viste. Esistono due diverse cartelle. Una chiamata view e una viewc. La differenza è fondamentale. Nella prima potranno andare solo i file di tipo html mentre nella seconda esclusivamente i file con estensione php. Per renderizzare una qualsiasi delle viste presenti nelle cartelle è sufficiente passare il nome del file al metodo render. Il guaio che il metodo render è diverso a secondo se vogliamo renderizzare le pagine php o html ed è un metodo dell'oggetto view del controller.

Quindi, nei metodi del controller, dovremmo scrivere per renderizzare la vista una cosa del tipo

$this->view()->render('NOMEFILESENZAESTENSIONE',$data); // per i file html

Oppure

$this->view()->renderc('NOMEFILESENZAESTENSIONE',$data); // per i file php

$data è un array associativo passato alla vista.

È opinabile la scelta degli autori di suddividere le viste in due gruppi. In un framework Php mi aspetto che le viste siano di tipo Php che, per quanto ne so, possono renderizzare benissimo anche l'html. Ma il problema principale è rappresentato dal modo di come viene utilizzato l'array $data. Nelle viste Php si fa semplicemente riferimento all'array mentre nel caso delle pagine html la chiave dell'array viene inserita tra doppie parentesi graffe. Quindi si imparano due cose per farne una!

$data['chiave'] // nella vista php
{{chiave}} // nella vista html

L'ultimo pezzo che manca del MVC è il model. I model si trovano ovviamente nella cartella model della nostra applicazione e rappresentano delle normali classi. Generalmente il loro nome corrisponde col nome della tabella nel database che rappresentano. Un model può anche non rappresentare una tabella del database. Per riferirsi al model all'interno del controller si usa la seguente sintassi :

Doo::loadModel('nomeDelModel');
$mioModel = new nomeDelModel;

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti