Development

Documentation/it_IT/book/1.0/06-Interno-Controller-Layer (diff)

You must first sign up to be able to contribute.

Changes between Version 22 and Version 23 of Documentation/it_IT/book/1.0/06-Interno-Controller-Layer

Show
Ignore:
Author:
Andrea.Giorgini (IP: 62.143.3.157)
Timestamp:
03/22/07 08:39:33 (11 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/it_IT/book/1.0/06-Interno-Controller-Layer

    v22 v23  
    131131{{{ 
    132132#!html 
    133 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     133<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    134134La CLI di symfony possiede una funzionalita' <span style="font-family: Monospace">init-batch</span>, che crea automaticamente uno scheletro simile a quello del Listato 6-3 dentro la cartella <span style="font-family: Monospace">batch/</span>. Dagli semplicemente come argomenti un nome di applicazione, un nome di ambiente ed un nome per il file batch.</p></blockquote> 
    135135}}} 
    162162{{{ 
    163163#!html 
    164 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/caution.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     164<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/caution.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    165165Anche se i nomi dei metodi non sono case-sensitive in PHP, lo sono in symfony. Per cui non dimenticare che il nome di un'azione deve cominciare con <span style="font-family: Monospace">execute</span> minuscolo, seguito dal nome esatto dell'azione con la prima lettera maiuscola.</p></blockquote> 
    166166}}} 
    404404{{{ 
    405405#!html 
    406 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     406<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    407407Il codice seguente ad una redirezione o ad un forward non viene mai eseguito. Puoi considerare queste chiamate equivalenti ad un <span style="font-family: Monospace">return</span>. Esse generano una chiamata <span style="font-family: Monospace">sfStopException</span> per fermare l'esecuzione dell'azione; tale eccezione e' catturata in seguito da symfony e semplicemente ignorata.</p></blockquote> 
    408408}}} 
    430430{{{ 
    431431#!html 
    432 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     432<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    433433Se stai cercando l'azione e la template dell'errore 404, le troverai nella cartella <span style="font-family: Monospace">$sf_symfony_ data_dir/modules/default/</span>.Puoi personalizzare questa pagina ggiungendo un nuovo modulo <span style="font-family: Monospace">default</span> nella tua applicazione, facendo cosi' l'override di quello del framework, e definendo una nuova azione <span style="font-family: Monospace">error404</span> ed una nuova template <span style="font-family: Monospace">error404Success</span>. Alternativamente, puoi impostare le costanti <span style="font-family: Monospace">error_404_module</span> e <span style="font-family: Monospace">error_404_action</span> del file <span style="font-family: Monospace">settings.yml</span> per utilizzare un'azione esistente.</p></blockquote> 
    434434}}} 
    459459{{{ 
    460460#!html 
    461 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     461<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    462462Quando l'azione chiama il metodo <span style="font-family: Monospace">forward404()</span> od uno dei suoi compagni, symfony genera una sfError404Exception che gestisce la risposta 404. Questo significa che se tu avessi bisogno di visualizzare un messaggio 404 da una parte dalla quale non vuoi accedere al controller, puoi generare semplicemente una eccezione simile.</p></blockquote> 
    463463}}} 
    644644{{{ 
    645645#!html 
    646 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/caution.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     646<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/caution.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    647647Potresti memorizzare oggetti nelle sessioni, ma e' fortemente sconsigliato. Questo perche' la sessione viene serializzata e memorizzata in un file durante le richieste. Quando la sessione viene de-serializzata, la classe che contiene l'oggetto deve essere gia' caricata, e questo non succede sempre. Inoltre, se tu memorizzi oggetti Propel, essi potrebbero andare in "stallo".</p></blockquote> 
    648648}}} 
    681681{{{ 
    682682#!html 
    683 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     683<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    684684Se hai bisogno di memorizzare informazioni solo per la durata della richiesta corrente (ad esempio, per passare informazioni attraverso una catena di chiamate ad azioni), potresti preferire la classe <span style="font-family: Monospace">sfRequest</span> la quale possiede anch'essa i metodi <span style="font-family: Monospace">has getAttribute()</span> e <span style="font-family: Monospace">setAttribute()</span>. Solo gli attributi dell'oggetto <span style="font-family: Monospace">sfUser</span> sono persistenti fra le richieste.</p></blockquote> 
    685685}}} 
    744744{{{ 
    745745#!html 
    746 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     746<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    747747La sessione parte (tramite la funzione PHP <span style="font-family: Monospace">session_start()</span>) solo se il parametro <span style="font-family: Monospace">auto_start</span> e' impostato a true nel file factories.yml (come di default). Se vuoi avviare la sessione manualmente, disabilita tale parametro.</p></blockquote> 
    748748}}} 
    921921{{{ 
    922922#!html 
    923 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     923<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    924924Tra i vari plugin di symfony, <span style="font-family: Monospace">sfGuardPlugin</span> estende la classe di sessione per facilitare login e logout. Controlla il Capitolo 17 per maggiori informazioni.</p></blockquote> 
    925925}}} 
    10881088{{{ 
    10891089#!html 
    1090 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     1090<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/tip.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    10911091Il parametro <span style="font-family: Monospace">enabled: off</span> funziona bene per disabilitare i tuoi filtri, ma puoi disattivare i filtri di default tramite il file <span style="font-family: Monospace">settings.yml</span>, modificando i valori di <span style="font-family: Monospace">web_debug</span>, <span style="font-family: Monospace">use_security</span>, <span style="font-family: Monospace">cache</span>, e <span style="font-family: Monospace">use_flash</span>. Questo perchè ognuno dei filtri di default possiede un parametro <span style="font-family: Monospace">condition</span> che controlla i valori di tali impostazioni.</p></blockquote> 
    10921092}}} 
    11391139{{{ 
    11401140#!html 
    1141 <blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
     1141<blockquote style="padding: 5px 20px 5px 40px; margin: 10px 0; background: #ffc url(http://www.symfony-project.com/images/note.gif) no-repeat 5px 10px; border: 1px solid #ddd;"><p> 
    11421142La classe <span style="font-family: Monospace">sfFilter</span> possiede un metodo <span style="font-family: Monospace">initialize()</span>, eseguito quando l'oggetto filtro viene creato. Puoi fare un override di tale metodo nel tuo filtro personalizzato se hai bisogno di gestire parametri (definiti in <span style="font-family: Monospace">filters.yml</span>, come descritto in seguito).</p></blockquote> 
    11431143}}}