Symfony mette a dispossizione dei metodi speciali all’interno della classe sfActions per dare un ordine di esecuzione particolare alle nostre operazioni.
apps/frontend/modules/contenuto/actions/actions.class.php
<?php class contenutoActions extends sfActions // estende la classe Symfony { public function preExecute() { // 1. Il codice inserito qui viene eseguito all'inizio di ogni azione echo "Codice di preExecute<br>"; } public function executePageone($request) // http://localhost/jobeet/web/frontend_dev.php/contenuto/pageone { $this->myCustomMethod(); // I metodi della classe azione sono accessibili return $this->renderText("Codice di executePageone<br>"); // 4. ultimo ad essere eseguito } public function postExecute() { // 3. Il codice inserito qui viene eseguito alla fine di ogni azione echo "Codice di postExecute<br>"; } protected function myCustomMethod() { // 2. È possibile aggiungere i propri metodi, ammesso che non inizino con "execute" // In questo caso è consigliabile dichiararli protetti o privati echo "Codice di myCustomMethod<br>"; } }// END class
Renderizza:
Codice di preExecute
Codice di myCustomMethod
Codice di postExecute
Codice di executePageone
Reference:
http://symfony.com/legacy/doc/gentle-introduction/1_4/it/06-Inside-the-Controller-Layer