Creare la cartella di progetto
1. Create the folder c:\wamp64\www\jobeet
Creare la struttura di cartelle
2. Inside \jobeet folder run the command:
cmd.exe -> c:\wamp64\www\jobeet\symfony generate:project jobeet –orm=Propel
Tris create the basic folders
Creare la app frontend
3. Copy C:\wamp64\bin\php\symfony.bat to c:\wamp64\www\jobeet\
4. cmd.exe -> c:\wamp64\www\jobeet\symfony generate:app frontend
This create the base content of \apps
Creare il contenuto
5. cmd.exe -> c:\wamp64\www\jobeet\symfony generate:module frontend contenuto
Crea il contenuto per \modules
6. Per ogni nuovo modulo, Symfony crea una azione index predefinita, puntiamo il browser a:
http://localhost/jobeet/web/contenuto/index
7. Apriamo il file apps/frontend/modules/contenuto/actions/actions.class.php e scriviamo
<?php class contenutoActions extends sfActions // estende la classe Symfony { public function executeAboutme() // crea l'indirizzo - contenuto/aboutme { }// END function public function executeContact() // crea l'indirizzo - contenuto/contact { }// END function }// END class
8. Creiamo apps/frontend/modules/contenuto/templates/aboutmeSuccess.php
<p>About me: I am <strong>Andrea</strong></p>
9. Creiamo apps/frontend/modules/contenuto/templates/contactSuccess.php
<p>Contact: My telephone number is 0123456789</p>
10. Puntiamo il browser a:
– http://localhost/jobeet/web/contenuto/aboutme
– http://localhost/jobeet/web/contenuto/contact
Come funziona?
I template dovranno essere nominati seguendo la regola:
aboutmeSuccess.php -> nomelink + Success
I metodi seguiranno la regola:
executeContact() -> execute + (Maiuscola)nomelink
Passare i dati al Template
1. action.class.php
<?php class contenutoActions extends sfActions // estende la classe Symfony { public function executeRandom() // crea l'indirizzo - contenuto/random { $number = mt_rand(0, 100); // this is plain PHP // invia nella variabile del template numerocasuale in valore $number $this->numerocasuale = $number; }// END function }// END class
2. randomSuccess.php
<p>The random number is <strong><?php echo $numerocasuale?></strong></p>
3. Puntare il browser a: http://localhost/jobeet/web/contenuto/random
Abbiamo due tipo di sintassi per assegnare le variabili da passare ai template:
// Impostare le variabili dell'azione per passare informazioni al template $this->pippo = 'pluto'; // Versione breve $this->setVar('pippo', 'pluto'); // Versione estesa
Reference:
http://symfony.com/legacy/doc/gentle-introduction/1_4/it/04-The-Basics-of-Page-Creation