Introduzione ai View Helpers
Spesso nelle View abbiamo bisogno di funzioni particolari: formattare date o valute, generare dinamicamente form, visualizzare URL particolari, ecc. A tale scopo esistono i View Helper, semplici da sviluppare e facili da manutenere. Si presentano sotto forma di classi e per crearle basta seguire attentamente le convenzioni di naming prestabilite.
Il percorso di default in cui posizionare queste classi può essere:
/application/views/helpers/SayHello.php
Nel caso in cui il progetto presenti più moduli avremo percorsi del genere:
/default/application/views/helpers/SayHello.php
/admin/application/views/helpers/SayHello.php
In questo secondo caso potremmo avere ridondanza del codice se il View Helper svolge la stessa funzione.
La soluzione è quella di posizionarla in un percorso diverso e settarlo in fase di bootstrap.
Il percorso potrebbe essere:
/library/My/View/Helper/SayHello.php
Nel bootstrap invece registriamo il percorso in questo modo:
$view->addHelperPath('My/View/Helper/', 'My_View_Helper');
Il primo parametro è il percorso vero e proprio, il secondo è il modo con cui inizia il nome della classe.
La nostra classe a questo punto potrebbe essere:
class My_View_Helper_SayHello() {
function sayHello() {
return "Hello!";
}
}
NB: Il nome del metodo deve iniziare con lettera minuscola, a differenza del nome della classe.
Il nostro View Helper a questo punto può essere richiamato nelle View in modo semplice:
<p><?php echo $this->sayHello() ?></p>
View Helpers esistenti nello Zend Framework
Ora vediamo alcuni View Helpers che sono disponibili di default nello Zend Framework.
Action
Permette di richiamare direttamente un action di un controller, richiede due parametri (controller e action) obbligatori. Vedi esempio di Action View Helper.
[continua...]