From 216f7b6f744c45edd167e3fd17266e1686db4e34 Mon Sep 17 00:00:00 2001 From: Massimiliano Arione Date: Wed, 15 Jun 2011 13:21:10 +0200 Subject: [PATCH] [it] minor fixes --- .../it/05-Configuring-Symfony.markdown | 2 +- .../it/07-Inside-the-View-Layer.markdown | 4 +-- .../16-Application-Management-Tools.markdown | 2 +- .../it/17-Extending-Symfony.markdown | 12 +++---- .../it/18-Performance.markdown | 14 ++++---- jobeet/it/16.markdown | 4 +-- jobeet/it/22.markdown | 6 ++-- more-with-symfony/it/01-Introduction.markdown | 2 +- .../it/02-Advanced-Routing.markdown | 6 ++-- more-with-symfony/it/04-Emails.markdown | 4 +-- .../it/09-Doctrine-Form-Inheritance.markdown | 4 +-- .../it/10-Symfony-Internals.markdown | 2 +- ...Playing-with-Symfony-Config-Cache.markdown | 2 +- ...orking-with-the-Symfony-Community.markdown | 36 +++++++++---------- more-with-symfony/it/authors.markdown | 6 ++-- reference/it/04-Settings.markdown | 4 +-- reference/it/05-Factories.markdown | 4 +-- .../it/14-Other-Configuration-Files.markdown | 2 +- reference/it/16-Tasks.markdown | 2 +- tutorial/it/deprecated.markdown | 2 +- tutorial/it/whats-new.markdown | 2 +- 21 files changed, 61 insertions(+), 61 deletions(-) diff --git a/gentle-introduction/it/05-Configuring-Symfony.markdown b/gentle-introduction/it/05-Configuring-Symfony.markdown index 9bc1fe7..8a6665e 100644 --- a/gentle-introduction/it/05-Configuring-Symfony.markdown +++ b/gentle-introduction/it/05-Configuring-Symfony.markdown @@ -124,7 +124,7 @@ Listato 5-7 - Sintassi dei commenti e allineamento dei valori in YAML contact: contact@example.com admin: admin@example.com # gli spazi aggiuntivi permettono un migliore allineamento dei valori -In qualche file di configurazione di symfony capiterà di trovare delle linee che cominciano con un cancelletto (per cui ignorate dal parser YAML) e che assomigliano a normali linee di impostazioni. Questa è una convenzione di symfony: la configurazione predefinita, ereditata da altri file YAML che si trovano nel core, è ripetuta in linee commentate nella propria applicazione per pura informazione. Se si vuole cambiare uno di tali parametri, occorre innanzitutto scommentare la linea, come mostrato nel listato 5-8. +In qualche file di configurazione di symfony capiterà di trovare delle linee che cominciano con un cancelletto (per cui ignorate dal parser YAML) e che assomigliano a normali linee di impostazioni. Questa è una convenzione di symfony: la configurazione predefinita, ereditata da altri file YAML che si trovano nel nucleo, è ripetuta in linee commentate nella propria applicazione per pura informazione. Se si vuole cambiare uno di tali parametri, occorre innanzitutto scommentare la linea, come mostrato nel listato 5-8. Listato 5-8 - La configurazione predefinita è mostrata commentata diff --git a/gentle-introduction/it/07-Inside-the-View-Layer.markdown b/gentle-introduction/it/07-Inside-the-View-Layer.markdown index 1c45bc3..63b9ac3 100644 --- a/gentle-introduction/it/07-Inside-the-View-Layer.markdown +++ b/gentle-introduction/it/07-Inside-the-View-Layer.markdown @@ -57,7 +57,7 @@ Molte volte, gli helper sono intelligenti e fanno risparmiare codice: Gli helper facilitano il processo di scrittura dei template e generano il miglior codice HTML possibile in quanto a prestazioni e accessibilità. Si può sempre utilizzare il semplice HTML, ma gli helper in genere sono più veloci da scrivere. >**TIP** ->Ci si potrebbe chiedere perché gli helper sono nominati utilizzando la convenzione dell'underscore piuttosto che quella camelCase, utilizzata ovunque in symfony. Il motivo è che gli helper sono funzioni e tutte le funzioni PHP del core usano la convenzione dell'underscore. +>Ci si potrebbe chiedere perché gli helper sono nominati utilizzando la convenzione del trattino basso piuttosto che quella camelCase, utilizzata ovunque in symfony. Il motivo è che gli helper sono funzioni e tutte le funzioni native di PHP usano la convenzione del trattino basso. #### Dichiarare gli helper @@ -186,7 +186,7 @@ Il template globale può essere completamente personalizzato per ciascuna applic ### Scorciatoie nei template -Nei template, alcune variabili symfony sono sempre disponibili. Queste scorciatoie forniscono l'accesso alla maggior parte delle informazioni necessarie nei template, attraverso oggetti del core di symfony: +Nei template, alcune variabili symfony sono sempre disponibili. Queste scorciatoie forniscono l'accesso alla maggior parte delle informazioni necessarie nei template, attraverso oggetti del nucleo di symfony: * `$sf_context`: L'intero oggetto context (`istanza di sfContext`) * `$sf_request`: L'oggetto request(`istanza di sfRequest`) diff --git a/gentle-introduction/it/16-Application-Management-Tools.markdown b/gentle-introduction/it/16-Application-Management-Tools.markdown index e7b9946..bf06bf5 100644 --- a/gentle-introduction/it/16-Application-Management-Tools.markdown +++ b/gentle-introduction/it/16-Application-Management-Tools.markdown @@ -269,7 +269,7 @@ Figura 16-4 - La sezione "logs" visualizza i messaggi di log per la richiesta co >Quando l'azione corrente proviene da una redirezione, nel pannello "logs" sono presenti solo i log dell'utlima richiesta, quindi i file di log rimangono indispensabili per fare il debug. * Quando ci sono richieste di esecuzione di query SQL, appare l'icona di un database nella barra degli strumenti. Cliccare per vedere il dettaglio delle query, come mostrato nella figura 16-5. - * Alla destra dell'icona dell'orologio c'è il tempo totale necessario per elaborare la richiesta. Bisogna tener conto che la barra web per il debug e la modalità stessa di debug rallentano l'esecuzione della richiesta, quindi non bisogna considerare i tempi in sé, ma prestare attenzione solo alle differenze tra i tempi di esecuzione di due pagine diverse. Fare clic sull'icona dell'orologio per visualizzare i dettagli dei tempi di elaborazione categoria per categoria, come mostrato nella figura 16-6. Symfony visualizza il tempo trascorso in diversi momenti dell'elaborazione della richiesta. Solo i tempi relativi alla richiesta corrente hanno un senso per l'ottimizzazione, quindi il tempo impiegato dal core di symfony non viene visualizzato. Ecco perché la somma di questi tempi non è uguale al tempo totale. + * Alla destra dell'icona dell'orologio c'è il tempo totale necessario per elaborare la richiesta. Bisogna tener conto che la barra web per il debug e la modalità stessa di debug rallentano l'esecuzione della richiesta, quindi non bisogna considerare i tempi in sé, ma prestare attenzione solo alle differenze tra i tempi di esecuzione di due pagine diverse. Fare clic sull'icona dell'orologio per visualizzare i dettagli dei tempi di elaborazione categoria per categoria, come mostrato nella figura 16-6. Symfony visualizza il tempo trascorso in diversi momenti dell'elaborazione della richiesta. Solo i tempi relativi alla richiesta corrente hanno un senso per l'ottimizzazione, quindi il tempo impiegato dal nucleo di symfony non viene visualizzato. Ecco perché la somma di questi tempi non è uguale al tempo totale. * Fare clic sulla x rossa all'estremità destra della barra degli strumenti, per nascondere la barra stessa. Figura 16-5 - La sezione query del database, mostra le query eseguite nella richiesta corrente diff --git a/gentle-introduction/it/17-Extending-Symfony.markdown b/gentle-introduction/it/17-Extending-Symfony.markdown index ad6ce2b..8752657 100644 --- a/gentle-introduction/it/17-Extending-Symfony.markdown +++ b/gentle-introduction/it/17-Extending-Symfony.markdown @@ -1,7 +1,7 @@ Capitolo 17 - Estendere symfony =============================== -A volte è necessario modificare il comportamento di symfony. Può accadere di dover modificare il modo in cui una certa classe si comporta o aggiungere delle caratteristiche personalizzate e ciò avverrà inevitabilmente perché ogni cliente ha esigenze specifiche che nessun framework può prevedere. In realtà, questa situazione è così comune che symfony fornisce un meccanismo per estendere classi esistenti in fase di runtime, al di là della semplice ereditarietà delle classi. È anche possibile sostituire le classi del core di symfony modificando le impostazioni di fabbrica. Una volta si è scrita una estensione, si può facilmente pacchettizzarla come plug-in, in modo che possa essere riutilizzata in altre applicazioni, o da altri utenti di symfony. +A volte è necessario modificare il comportamento di symfony. Può accadere di dover modificare il modo in cui una certa classe si comporta o aggiungere delle caratteristiche personalizzate e ciò avverrà inevitabilmente perché ogni cliente ha esigenze specifiche che nessun framework può prevedere. In realtà, questa situazione è così comune che symfony fornisce un meccanismo per estendere classi esistenti in fase di runtime, al di là della semplice ereditarietà delle classi. È anche possibile sostituire le classi del nucleo di symfony modificando le impostazioni di fabbrica. Una volta si è scrita una estensione, si può facilmente pacchettizzarla come plug-in, in modo che possa essere riutilizzata in altre applicazioni, o da altri utenti di symfony. Eventi ------ @@ -296,7 +296,7 @@ I plugin (vedere sotto) possono registrare i propri ascoltatori di eventi. Dovre Factory ------- -Factory è la definizione di una classe per un determinato compito. Symfony per le sue caratteristiche del core, come la gestione del controllore e della sessione, si basa su factory. Ad esempio, quando il framework deve creare un oggetto per un nuova richiesta, cerca nella definizione del factory il nome della classe da utilizzare a tale scopo. La definizione predefinita del factory per le richieste è `sfWebRequest`, quindi symfony crea un oggetto di questa classe, al fine di gestire le richieste. Il grande vantaggio di utilizzare una definizione del factory è che è molto facile alterare le caratteristiche core del framework: basta cambiare la definizione del factory e symfony userà la classe personalizzata per la richiesta, invece della sua. +Factory è la definizione di una classe per un determinato compito. Symfony per le sue caratteristiche del nucleo, come la gestione del controllore e della sessione, si basa su factory. Ad esempio, quando il framework deve creare un oggetto per un nuova richiesta, cerca nella definizione del factory il nome della classe da utilizzare a tale scopo. La definizione predefinita del factory per le richieste è `sfWebRequest`, quindi symfony crea un oggetto di questa classe, al fine di gestire le richieste. Il grande vantaggio di utilizzare una definizione del factory è che è molto facile alterare le caratteristiche principali del framework: basta cambiare la definizione del factory e symfony userà la classe personalizzata per la richiesta, invece della sua. Le definizioni dei factory sono memorizzate nel file di configurazione `factories.yml`. Il listato 17-7 mostra il file con le definizioni predefinite dei factory. Ogni definizione è costituita dal nome di una classe autocaricata e (opzionalmente) da un insieme di parametri. Per esempio, il factory per la memorizzazione delle sessioni (impostata sotto la chiave `storage:`), utilizza un parametro `session_name` per dare un nome al cookie creato sul computer client, che consente le sessioni persistenti. @@ -370,7 +370,7 @@ Probabilmente capiterà di dover riutilizzare parte di codice che si è sviluppa I plugin offrono un modo per pacchettizzare il codice sparso su più file e di riutilizzarlo su diversi progetti. In un plugin, è possibile inserire classi, filtri, ascoltatori di eventi, helper, configurazioni, task, moduli, schemi ed estensioni del modello, fixture, le risorse web, ecc. I plugin sono facili da installare, aggiornare e disinstallare. Possono essere distribuiti come un archivio .tgz`, un pacchetto PEAR, o un semplice checkout da un repository di codice. I plugin con pacchetti PEAR hanno il vantaggio di gestire le dipendenze, essere più facili da aggiornare e sono rilevati automaticamente. I meccanismi di caricamento di symfony tengono in considerazione i plugin e le funzionalità offerte da un plugin sono disponibili nel progetto come se il codice del plugin facesse parte del framework. -Quindi, fondamentalmente, un plugin è una estensione pacchettizzata per un progetto symfony. Con i plugin, non solo è possibile riutilizzare il proprio codice tra le applicazioni, ma si possono anche riutilizzare sviluppi fatti da altri contributori e aggiungere estensioni di terze parti al core di symfony. +Quindi, fondamentalmente, un plugin è una estensione pacchettizzata per un progetto symfony. Con i plugin, non solo è possibile riutilizzare il proprio codice tra le applicazioni, ma si possono anche riutilizzare sviluppi fatti da altri contributori e aggiungere estensioni di terze parti al nucleo di symfony. ### Cercare i plugin di symfony @@ -380,7 +380,7 @@ Il sito web del progetto symfony ha una sezione dedicata ai plugin che è access Ciascun plugin elencato ha la propria pagina, con dettagliate istruzioni per l'installazione e documentazione sull'utilizzo. -Alcuni di questi plugin sono stati creati dalla comunità, mentre altri provengono dagli sviluppatori del core di symfony. Tra questi ultimi, ci sono i seguenti: +Alcuni di questi plugin sono stati creati dalla comunità, mentre altri provengono dagli sviluppatori del nucleo di symfony. Tra questi ultimi, ci sono i seguenti: * `sfFeed2Plugin`: Automatizza la manipolazione dei feed RSS e Atom * `sfThumbnailPlugin`: Crea miniature, ad esempio per le immagini caricate da web @@ -987,8 +987,8 @@ I plugin devono sempre includere un file `LICENSE` che descrive le condizioni di Riepilogo --------- -Le classi di symfony notificano eventi che danno loro la possibilità di essere modificati a livello di applicazione. Il meccanismo degli eventi permette l'ereditarietà multipla e la sovrascrittura delle classi in fase di runtime, anche se le limitazioni di PHP lo impedirebbero. Quindi le funzionalità di symfony si possono estendere facilmente, anche quando è necessario modificare le classi core: la configurazione dei factory è qui per questo. +Le classi di symfony notificano eventi che danno loro la possibilità di essere modificati a livello di applicazione. Il meccanismo degli eventi permette l'ereditarietà multipla e la sovrascrittura delle classi in fase di runtime, anche se le limitazioni di PHP lo impedirebbero. Quindi le funzionalità di symfony si possono estendere facilmente, anche quando è necessario modificare le classi del nucleo: la configurazione dei factory è qui per questo. Molte estensioni esistono già, sono pacchettizzate come plugin, per essere installate facilmente, aggiornate e disinstallate tramite la riga di comando di symfony. Creare un plugin è facile come creare un pacchetto PEAR e fornisce riutilizzabilità tra le applicazioni. -La sezione plugin del sito di symfony contiene molti plugin e si possono anche aggiungere i propri. Quindi, ora che si sa come fare, speriamo che si aggiungano al core di symfony un sacco di estensioni utili! +La sezione plugin del sito di symfony contiene molti plugin e si possono anche aggiungere i propri. Quindi, ora che si sa come fare, speriamo che si aggiungano al nucleo di symfony un sacco di estensioni utili! diff --git a/gentle-introduction/it/18-Performance.markdown b/gentle-introduction/it/18-Performance.markdown index 09421f9..6541b15 100644 --- a/gentle-introduction/it/18-Performance.markdown +++ b/gentle-introduction/it/18-Performance.markdown @@ -1,9 +1,9 @@ Capitolo 18 - Prestazioni ========================= -Se ci si aspetta che il proprio sito web possa attirare molte visite i problemi di prestazioni e di ottimizzazione dovrebbero essere argomenti trattati a fondo durante la fase di sviluppo. State sicuri che quella delle prestazioni è stata sempre una delle principali preoccupazioni per gli sviluppatori del core di symfony. +Se ci si aspetta che il proprio sito web possa attirare molte visite i problemi di prestazioni e di ottimizzazione dovrebbero essere argomenti trattati a fondo durante la fase di sviluppo. State sicuri che quella delle prestazioni è stata sempre una delle principali preoccupazioni per gli sviluppatori del nucleo di symfony. -Mentre i vantaggi ottenuti dall'accelerazione del processo di sviluppo comportano un piccolo overhead, gli sviluppatori del core di symfony sono sempre stati a conoscenza dei requisiti relativi alle prestazioni. Proprio per questo ogni classe e ogni metodo son stati analizzati e ottimizzati per essere più veloci possibile. Il piccolo overhead, che può essere misurato confrontando il tempo necessario a visualizzare un "hello, world" con e senza symfony, è minimo. Conseguentemente il framework è scalabile e reagisce positivamente agli stress test. Come ultima prova alcuni siti a [estremamente](http://sf-to.org/answers) [alto](http://sf-to.org/delicious) [traffico](http://sf-to.org/dailymotion) (questo significa, siti web con milioni di utenti attivi e molti server che erogano interazioni Ajax) usano symfony e sono molto soddisfatti delle sue prestazioni. +Mentre i vantaggi ottenuti dall'accelerazione del processo di sviluppo comportano un piccolo overhead, gli sviluppatori del team di symfony sono sempre stati a conoscenza dei requisiti relativi alle prestazioni. Proprio per questo ogni classe e ogni metodo son stati analizzati e ottimizzati per essere più veloci possibile. Il piccolo overhead, che può essere misurato confrontando il tempo necessario a visualizzare un "hello, world" con e senza symfony, è minimo. Conseguentemente il framework è scalabile e reagisce positivamente agli stress test. Come ultima prova alcuni siti a [estremamente](http://sf-to.org/answers) [alto](http://sf-to.org/delicious) [traffico](http://sf-to.org/dailymotion) (questo significa, siti web con milioni di utenti attivi e molti server che erogano interazioni Ajax) usano symfony e sono molto soddisfatti delle sue prestazioni. Tuttavia i siti ad alto traffico molte volte si possono permettere di espandere la propria server farm e di fare upgrade hardware man mano che le risorse vengono utilizzate. Quando non si hanno le risorse per agire in questo modo, o quando si vuole essere certi di avere a disposizione l'intera potenza del framework, esistono degli accorgimenti per rendere ulteriormente più veloce la propria applicazione symfony. Questo capitolo elenca alcune delle ottimizzazioni raccomandate per le prestazioni a tutti i livelli del framework che sono principalmente per utenti avanzati. Alcuni di essi sono già stati citati nei capitoli precedenti, è utile tuttavia averli tutti assieme in un unico posto. @@ -35,7 +35,7 @@ In symfony lo strato del modello ha la reputazione di essere la parte più lenta ### Ottimizzare l'integrazione di Propel o Doctrine -L'inizializzazione dello strato del modello (le classi del core dell'ORM) richiede un po' di tempo per la necessità di caricare alcune classi e creare diversi oggetti. Comunque, grazie a come symfony integra tutti e due gli ORM, questo processo di inizializzazione si verifica solo quando un'azione necessita realmente del modello e questo viene fatto più tardi possibile. Le classi dell'ORM vengono inizializzate solo quando un oggetto del modello auto generato è oggetto di auto-caricamento. +L'inizializzazione dello strato del modello (le classi del nucleo dell'ORM) richiede un po' di tempo per la necessità di caricare alcune classi e creare diversi oggetti. Comunque, grazie a come symfony integra tutti e due gli ORM, questo processo di inizializzazione si verifica solo quando un'azione necessita realmente del modello e questo viene fatto più tardi possibile. Le classi dell'ORM vengono inizializzate solo quando un oggetto del modello auto generato è oggetto di auto-caricamento. Se l'intera applicazione non richiede l'utilizzo dello strato del modello è possibile evitare l'inizializzazione del `sfDatabaseManager` disabilitando completamente lo strato in `settings.yml`: @@ -592,15 +592,15 @@ Ottimizzare il proprio codice È possibile rendere più performante un'applicazione ottimizzandone il codice. Questa sezione offre alcuni spunti su come fare ciò. -### Compilazione del core +### Compilazione del nucleo Caricare dieci file richiede più operazioni di I/O rispetto al caricamento di un grande file, specialmente su dischi lenti. Caricare un file molto grande richiede più risorse rispetto a caricarne uno più piccolo, specialmente se grossa parte del contenuto del file non è di alcun interesse per il parser PHP, è il caso dei commenti. -Quindi fondere un grosso numero di file eliminandone i commenti contenuti è un'operazione che migliora le prestazioni. Symfony esegue già tale ottimizzazione, si chiama compilazione del core. All'inizio della prima richiesta (o dopo aver svuotato la cache) un'applicazione symfony concatena tutte le classi del core del framework (`sfActions`, `sfRequest`, `sfView` e così via) in un unico file, riduce la dimensione del file rimuovendo commenti e doppi spazi e salva tutto nella cache in un file chiamato `config_core_compile.yml.php`. Ogni richiesta seguente caricherà solamente questo singolo file ottimizzato invece che i 30 file che lo compongono. +Quindi fondere un grosso numero di file eliminandone i commenti contenuti è un'operazione che migliora le prestazioni. Symfony esegue già tale ottimizzazione, si chiama compilazione del nucleo. All'inizio della prima richiesta (o dopo aver svuotato la cache) un'applicazione symfony concatena tutte le classi del nucleo del framework (`sfActions`, `sfRequest`, `sfView` e così via) in un unico file, riduce la dimensione del file rimuovendo commenti e doppi spazi e salva tutto nella cache in un file chiamato `config_core_compile.yml.php`. Ogni richiesta seguente caricherà solamente questo singolo file ottimizzato invece che i 30 file che lo compongono. -Se l'applicazione ha classi che devono essere caricare ogni volta, specialmente se sono classi grandi con molti commenti, può essere un vantaggio aggiungerle al file compilato del core. Per fare questo basta aggiungere un file `core_compile.yml` nella cartella `config/` dell'applicazione in cui si elencheranno le classi che si vogliono aggiungere come nel listato 18-21. +Se l'applicazione ha classi che devono essere caricare ogni volta, specialmente se sono classi grandi con molti commenti, può essere un vantaggio aggiungerle al file compilato del nucleo. Per fare questo basta aggiungere un file `core_compile.yml` nella cartella `config/` dell'applicazione in cui si elencheranno le classi che si vogliono aggiungere come nel listato 18-21. -Listato 18-21 - Aggiungere le proprie classi al file compilato del core, in `frontend/config/core_compile.yml` +Listato 18-21 - Aggiungere le proprie classi al file compilato del nucleo, in `frontend/config/core_compile.yml` - %SF_ROOT_DIR%/lib/myClass.class.php - %SF_ROOT_DIR%/apps/frontend/lib/myToolkit.class.php diff --git a/jobeet/it/16.markdown b/jobeet/it/16.markdown index bbeea84..85f7187 100644 --- a/jobeet/it/16.markdown +++ b/jobeet/it/16.markdown @@ -116,7 +116,7 @@ un oggetto `sfWebResponse` e passa l'opzione `send_http_headers` come parametro. >L'oggetto ~`sfContext`~ contiene riferimenti a oggetti di symfony come >request, response, user, ecc. Dal momento che `sfContext` agisce come un >singleton, si può utilizzare `sfContext::getInstance()` ->da qualsiasi parte e quindi avere accesso a qualsiasi oggetto del core di symfony: +>da qualsiasi parte e quindi avere accesso a qualsiasi oggetto del nucleo di symfony: > > [php] > $mailer = sfContext::getInstance()->getMailer(); @@ -135,7 +135,7 @@ un oggetto `sfWebResponse` e passa l'opzione `send_http_headers` come parametro. ### ~Strategia di consegna~ -Come molti altri oggetti del core di symfony, il mailer è un factory. Quindi è +Come molti altri oggetti del nucleo di symfony, il mailer è un factory. Quindi è configurato nel file di configurazione `factories.yml`. La configurazione predefinita è la seguente: diff --git a/jobeet/it/22.markdown b/jobeet/it/22.markdown index 08948cb..f315ed9 100644 --- a/jobeet/it/22.markdown +++ b/jobeet/it/22.markdown @@ -252,12 +252,12 @@ In questo caso, si possono spostare queste cartelle da qualche altra parte: Come per il metodo `setWebDir()`, `setCacheDir()` e `setLogDir()` accettano un percorso assoluto rispettivamente alle cartelle `cache/` e `log/`. -Personalizzazione degli oggetti core di symfony (i factory) ------------------------------------------------------------ +Personalizzazione degli oggetti del nucleo di symfony (i factory) +----------------------------------------------------------------- Durante il giorno 16, abbiamo parlato dei factory di symfony. Essere in grado di personalizzare i factory significa avere la possibilità di utilizzare una classe personalizzata -per gli oggetti del core di symfony, al posto di quella predefinita. È inoltre possibile +per gli oggetti del nucleo di symfony, al posto di quella predefinita. È inoltre possibile modificare il comportamento predefinito di queste classi, modificando i parametri da inviare loro. Diamo uno sguardo ad alcune classiche personalizzazioni che potreste diff --git a/more-with-symfony/it/01-Introduction.markdown b/more-with-symfony/it/01-Introduction.markdown index 946dcb9..4fb3a92 100644 --- a/more-with-symfony/it/01-Introduction.markdown +++ b/more-with-symfony/it/01-Introduction.markdown @@ -114,7 +114,7 @@ incluso l'intero livello di compatibilità, sono state rimosse. Questa versione più pulita e anche leggermente più veloce di symfony 1.3. Un altro grosso vantaggio derivante dall'utilizzo di symfony 1.4 è il suo supporto a lungo termine. Essendo una release con Supporto a Lungo Termine (LTS), verrà mantenuta dal -core team di symfony per tre anni (fino a novembre 2012). +team di symfony per tre anni (fino a novembre 2012). Certamente è possibile migrare i propri progetti a symfony 1.3 e poi pian piano aggiornare il codice per rimuovere le funzionalità deprecate e alla fine diff --git a/more-with-symfony/it/02-Advanced-Routing.markdown b/more-with-symfony/it/02-Advanced-Routing.markdown index 9cf36f0..dde262e 100644 --- a/more-with-symfony/it/02-Advanced-Routing.markdown +++ b/more-with-symfony/it/02-Advanced-Routing.markdown @@ -3,7 +3,7 @@ Utilizzo avanzato delle rotte *di Ryan Weaver* -Nel core, il framework delle rotte è la mappa che collega ogni url a una specifica +Nel nucleo, il framework delle rotte è la mappa che collega ogni url a una specifica ubicazione interna di un progetto symfony e viceversa. Si possono facilmente creare dei meravigliosi URL che rimangono completamente indipendenti dalla logica dell'applicazione. Grazie ai progressi che ha compiuto nelle sue versioni @@ -20,8 +20,8 @@ abbastanza semplice. Preparazione del progetto: un CMS per molti clienti --------------------------------------------------- -In questo progetto, una società immaginaria - Sympal Builder - vuole creare un -CMS in modo che i suoi clienti possano costruire siti web come sottodomini di +In questo progetto una società immaginaria, Sympal Builder, vuole creare un +CMS, in modo che i suoi clienti possano costruire siti web come sottodomini di `sympalbuilder.com`. In particolare, il cliente XXX può vedere il suo sito su `xxx.sympalbuilder.com` e usare l'area admin su `xxx.sympalbuilder.com/backend.php`. diff --git a/more-with-symfony/it/04-Emails.markdown b/more-with-symfony/it/04-Emails.markdown index 54ce324..6c79819 100644 --- a/more-with-symfony/it/04-Emails.markdown +++ b/more-with-symfony/it/04-Emails.markdown @@ -16,8 +16,8 @@ Introduzione ------------ La gestione delle email in symfony è incentrata sull'oggetto mailer. E come per molti -altri oggetti del core di symfony, il mailer è una factory. Questo è inizializzato nel -file di configurazione `factories.yml` ed è sempre disponibile tramite le context instance: +altri oggetti del nucleo di symfony, il mailer è un factory. È inizializzato nel +file di configurazione `factories.yml` ed è sempre disponibile tramite istanze del contesto: [php] $mailer = sfContext::getInstance()->getMailer(); diff --git a/more-with-symfony/it/09-Doctrine-Form-Inheritance.markdown b/more-with-symfony/it/09-Doctrine-Form-Inheritance.markdown index e1742dc..a85852f 100644 --- a/more-with-symfony/it/09-Doctrine-Form-Inheritance.markdown +++ b/more-with-symfony/it/09-Doctrine-Form-Inheritance.markdown @@ -264,7 +264,7 @@ Di conseguenza, gli sviluppatori che avevano bisogno di usare l'ereditarietà er forzati a modificare form e filtri ed erano costretti a sovrascrivere molti metodi per ottenere il comportamento dell'ereditarietà. -Grazie al feedback della comunità, il team del core di symfony ha migliorato form e +Grazie al feedback della comunità, il team di symfony ha migliorato form e filtri in symfony 1.3, in modo da supportare facilmente e integralmente l'ereditarietà delle tabelle di Doctrine. @@ -735,7 +735,7 @@ nel file `data/fixtures.yml` del progetto symfony. priority: "major" assigned_to: "Kris Wallsmith" sfTodoItem_4: - name: "Scrivere la documentazione per le API del core di Lime 2" + name: "Scrivere la documentazione per le API del nucleo di Lime 2" priority: "medium" assigned_to: "Bernard Schussek" diff --git a/more-with-symfony/it/10-Symfony-Internals.markdown b/more-with-symfony/it/10-Symfony-Internals.markdown index 436b198..67e71ab 100644 --- a/more-with-symfony/it/10-Symfony-Internals.markdown +++ b/more-with-symfony/it/10-Symfony-Internals.markdown @@ -254,7 +254,7 @@ istanziata e legata ai relativi parametri. Una volta che tutti i factory sono stati caricati e configurati correttamente, l'evento `context.load_factories` viene attivato. Questo evento è importante, perché è il primo evento nel framework in cui lo sviluppatore ha accesso a tutti -gli oggetti del factory del core di symfony (request, response, user, logging, +gli oggetti del factory del nucleo di symfony (request, response, user, logging, database, ecc.). È il momento di connettersi anche a un altro evento molto utile: diff --git a/more-with-symfony/it/14-Playing-with-Symfony-Config-Cache.markdown b/more-with-symfony/it/14-Playing-with-Symfony-Config-Cache.markdown index 4a09177..b666683 100644 --- a/more-with-symfony/it/14-Playing-with-Symfony-Config-Cache.markdown +++ b/more-with-symfony/it/14-Playing-with-Symfony-Config-Cache.markdown @@ -134,7 +134,7 @@ Filtraggio delle variabili del template La prima sfida è quella di trovare un punto di aggancio in symfony, che permetta di filtrare ogni variabile del form passata al template, attraverso questa configurazione. Per fare questo, si usa l'evento `template.filter_parameters`, -che è chiamato dal core di symfony, appena prima di visualizzare un template o +che è chiamato dal nucleo di symfony, appena prima di visualizzare un template o il partial di un template. [php] diff --git a/more-with-symfony/it/15-Working-with-the-Symfony-Community.markdown b/more-with-symfony/it/15-Working-with-the-Symfony-Community.markdown index 130312a..e1eac99 100644 --- a/more-with-symfony/it/15-Working-with-the-Symfony-Community.markdown +++ b/more-with-symfony/it/15-Working-with-the-Symfony-Community.markdown @@ -74,12 +74,12 @@ contatto con utenti e sviluppatori di symfony. Se state lavorando con symfony e siete in cerca di aiuto per un problema incontrato, la mailinglist [symfony-users](http://groups.google.com/group/symfony-users) è il posto giusto. I lettori di questa mailinglist sono un mix di normali utenti di symfony, utenti -alle prime armi e gran parte del core team di symfony. Per ogni domanda posta lì, +alle prime armi e gran parte del team di symfony. Per ogni domanda posta lì, c'è qualcuno in grado di dare una risposta. Esistono anche molte altre liste con altri obiettivi: * [symfony-devs](http://groups.google.com/group/symfony-devs): Per argomenti - riguardanti lo sviluppo del core di symfony (*non per supporto!*) + riguardanti lo sviluppo del nucleo di symfony (*non per supporto!*) * [symfony-docs](http://groups.google.com/group/symfony-docs): Per argomenti riguardanti la documentazione di symfony @@ -266,7 +266,7 @@ sviluppatori questo è il modo più divertente per dare il proprio contributo al comunità. Esistono molti modi per offrire il proprio codice. Di seguito una lista di modalità per farlo. -#### Patch al core +#### Patch al nucleo È possibile che lavorando con symfony si incontri un bug. Oppure semplicemente c'è bisogno di fare qualcosa che attualmente symfony non offre, attraverso @@ -294,7 +294,7 @@ Il passo successivo è quello di andare sul [bugtracker di symfony](http://trac.symfony-project.org). Dopo aver effettuato il login è possibile creare un nuovo ticket. Creando un nuovo ticket assicurarsi di compilare quanti più campi possibili, per rendere più semplice il compito del -core team nel riprodurre il bug, o per far capire quali parti di symfony sono +team nel riprodurre il bug, o per far capire quali parti di symfony sono affette da esso. Nel riquadro "Ticket Properties" fare molta attenzione a selezionare la versione @@ -309,16 +309,16 @@ marcare il checkbox che indica la presenza di una patch allegata al nuovo ticket #### Contribuire ai plugin -Lavorare sul core del framework non è per tutti. Ma gli utenti di symfony +Lavorare sul nucleo del framework non è per tutti. Ma gli utenti di symfony lavorano su progetti che contengono funzionalità sviluppate ad hoc. Qualche funzionalità è molto specifica per il progetto, per questo non sarebbe molto -utile renderla disponibile per l'utilizzo da parte di alti utenti, spesso però -un progetto contiene codice piuttosto generico che può tornare utile ad altri -utenti. È una best practice inserire gran parte della logica dell'applicazione +utile renderla disponibile per l'utilizzo da parte di alti utenti. Spesso però +un progetto contiene codice piuttosto generico, che può tornare utile ad altri +utenti. È una buona pratica inserire gran parte della logica dell'applicazione nei plugin, per essere in grado di riutilizzarla in modo semplice almeno internamente alla propria organizzazione. Ma dato che il codice è stato -raggruppato in un plugin, è anche possibile renderlo Open-Source, facendolo -diventare disponibile a tutti gli utenti di symfony. +raggruppato in un plugin, è anche possibile renderlo open source, rendendolo +disponibile a tutti gli utenti di symfony. Contribuire alla comunità di symfony con un plugin è abbastanza semplice. È possibile @@ -338,9 +338,9 @@ ai loro progetti per installare il plugin. ### Documentazione -Uno dei punti di forza di symfony è la documentazione. Il core team ha scritto +Uno dei punti di forza di symfony è la documentazione. Il team ha scritto molta della documentazione su come utilizzare symfony, ma una grossa fetta è -disponibile anche grazie alla comunità. Ci sono anche sforzi congiunti tra il core +disponibile anche grazie alla comunità. Ci sono anche sforzi congiunti tra il team e la comunità, come per esempio il lavoro sul tutorial Jobeet. La documentazione aiuta i nuovi sviluppatori a imparare a utilizzare symfony, oltre a essere una guida sempre presente per gli sviluppatori più esperti; è @@ -506,19 +506,19 @@ sul sito in spagnolo. Il sito offre inoltre molta documentazione in spagnolo, rappresentando così un ottimo punto per gli sviluppatori della Spagna per imparare symfony e restare aggiornati sui nuovi sviluppi relativi al framework. -### Diventare parte del core team +### Diventare parte del team -Il core team è a tutti gli effetti, parte della comunità. Le persone che lo -compongono hanno tutte iniziato come semplici utenti del framework e grazie +Il team è, a tutti gli effetti, parte della comunità. Le persone che lo +compongono hanno tutte iniziato come semplici utenti del framework e, grazie alla loro propensione a partecipare, in un modo o nell'altro sono diventate -parte del core team. Symfony è +parte del team. Symfony è [meritocratico](http://it.wikipedia.org/wiki/Meritocrazia), questo significa che se si dà prova del proprio talento e delle proprie capacità, si dimostra di -essere in grado di entrare a far parte del core team. +essere in grado di entrare a far parte del team. Abbiamo l'esempio [dell'ingresso di Bernhard Schussek](http://www.symfony-project.org/blog/2009/08/27/bernhard-schussek-joins-the-core-team). -Bernard è entrato a far parte del core team dopo il suo fantastico lavoro +Bernard è entrato a far parte del team dopo il suo fantastico lavoro sulla seconda versione del framework dei test Lime e per aver proposto patch interessanti per un lungo periodo di tempo. diff --git a/more-with-symfony/it/authors.markdown b/more-with-symfony/it/authors.markdown index 3ff0737..ace56e0 100644 --- a/more-with-symfony/it/authors.markdown +++ b/more-with-symfony/it/authors.markdown @@ -32,7 +32,7 @@ e l'architetto software a [CentreSource](http://www.centresource.com). Oggi lavora in [Sensio Labs](http://www.sensiolabs.com), dove ci sono i creatori del framework MVC symfony. Le sue responsabilità principali sono la formazione di altri sviluppatori, nonché lavorare sui progetti open source -symfony e Doctrine. È un collaboratore core di symfony ed è alla guida del +symfony e Doctrine. È un collaboratore importante di symfony ed è alla guida del progetto Doctrine. **Sito web**: *http://www.jwage.com/* @@ -60,9 +60,9 @@ Kris Wallsmith -------------- Kris Wallsmith è uno sviluppatore web freelance di Portland, Oregon. -Trascorre i suoi giorni nella foresta di silicone, seguendo la nascita di startup +Trascorre i suoi giorni nella foresta di silicio, seguendo la nascita di startup web, giocando a calcio e prendendo in braccio i suoi due figli piccoli. Kris è -anche relatore a conferenze internazionali, membro del core team di symfony e +anche relatore in conferenze internazionali, membro del team di symfony e Release Manager per le versioni 1.3 e 1.4. **Sito web**: *http://kriswallsmith.net* diff --git a/reference/it/04-Settings.markdown b/reference/it/04-Settings.markdown index cf70c1d..8e700b6 100644 --- a/reference/it/04-Settings.markdown +++ b/reference/it/04-Settings.markdown @@ -194,7 +194,7 @@ Il più delle volte il valore predefinito va bene. *Predefinito*: `[default]` L'impostazione `enabled_modules` è un array dei nomi dei moduli da abilitare -per la specifica applicazione. Moduli definiti in plugin o nel core di symfony +per la specifica applicazione. Moduli definiti in plugin o nel nucleo di symfony non sono abilitati in modo predefinito e devono quindi essere elencati in questa impostazione per essere accessibili. @@ -377,7 +377,7 @@ azionato da alcuni task come `cache:clear` e `project:disable`. Se impostato a `true` tutte le richieste verso applicazioni disabilitate verranno automaticamente redirette alla pagina `lib/exception/data/unavailable.php` -messa a disposizione dal core di symfony. +messa a disposizione dal nucleo di symfony. >**TIP** >È possibile sovrascrivere il template predefinito aggiungendo un file diff --git a/reference/it/05-Factories.markdown b/reference/it/05-Factories.markdown index ceaa8d8..38afb65 100644 --- a/reference/it/05-Factories.markdown +++ b/reference/it/05-Factories.markdown @@ -1,7 +1,7 @@ Il file di configurazione factories.yml ======================================= -I factory sono oggetti del core necessari al framework durante la vita di ogni richiesta. +I factory sono oggetti del nucleo necessari al framework durante la vita di ogni richiesta. Sono inizializzati nel file di configurazione `factories.yml` e sempre accessibili tramite l'oggetto `sfContext`: @@ -41,7 +41,7 @@ per configurare i corrispettivi oggetti: param: { ARRAY DI PARAMETRI } La possibilità di modificare i factory significa che è possibile usare una classe -personalizzata per istanziare un oggetto del core di symfony, piuttosto che la classe +personalizzata per istanziare un oggetto del nucleo di symfony, piuttosto che la classe predefinita. È inoltre possibile cambiare il comportamento di queste classi, modificando i parametri inviati alle stesse. diff --git a/reference/it/14-Other-Configuration-Files.markdown b/reference/it/14-Other-Configuration-Files.markdown index 1d0505b..1dde5d4 100644 --- a/reference/it/14-Other-Configuration-Files.markdown +++ b/reference/it/14-Other-Configuration-Files.markdown @@ -53,7 +53,7 @@ consente di sovrascrivere la configurazione predefinita. >**TIP** >Come si può vedere, la cartella `lib/vendor/symfony/` è esclusa per impostazione predefinita, ->dal momento che symfony utilizza un diverso meccanismo di autocaricamento per le classi del core. +>dal momento che symfony utilizza un diverso meccanismo di autocaricamento per le classi del nucleo. Diverse chiavi possono essere usate per personalizzare il comportamento dell'autocaricamento: diff --git a/reference/it/16-Tasks.markdown b/reference/it/16-Tasks.markdown index b05f74c..2d715d7 100644 --- a/reference/it/16-Tasks.markdown +++ b/reference/it/16-Tasks.markdown @@ -1729,7 +1729,7 @@ Il task `plugin::publish-assets` pubblica gli elementi web per tutti i plugin: | Opzione (Scorciatoia) | Predefinito | Descrizione | --------------------- | ----------- | ----------- -| `--core-only` | `-` | Se assegnato verranno pubblicati gli elementi web solo per i core plugin +| `--core-only` | `-` | Se assegnato verranno pubblicati gli elementi web solo per i plugin del nucleo Il task `plugin:publish-assets` pubblicherà gli elementi web per tutti i plugin. diff --git a/tutorial/it/deprecated.markdown b/tutorial/it/deprecated.markdown index 13e1425..e782216 100644 --- a/tutorial/it/deprecated.markdown +++ b/tutorial/it/deprecated.markdown @@ -7,7 +7,7 @@ e i task che sono stati deprecati o rimossi in symfony 1.3. Plugin del Core --------------- -I seguenti plugin del core sono stati deprecati in symfony 1.3 e saranno +I seguenti plugin del nucleo sono stati deprecati in symfony 1.3 e saranno rimossi in symfony 1.4: * `sfCompat10Plugin`: Deprecando questo plugin, si deprecano anche tutti gli diff --git a/tutorial/it/whats-new.markdown b/tutorial/it/whats-new.markdown index 901aaf5..8aaf36e 100644 --- a/tutorial/it/whats-new.markdown +++ b/tutorial/it/whats-new.markdown @@ -811,7 +811,7 @@ Il task `plugin:install` abilita automaticamente i plugin che installa (e `plugin:uninstall` li disabilita). Se si installa un plugin tramite Subversion, occorre abilitarlo a mano. -Se si vuole usare un plugin del core, come `sfProtoculousPlugin` o +Se si vuole usare un plugin del nucleo, come `sfProtoculousPlugin` o `sfCompat10Plugin`, basta aggiungere il corrispondente comando `enablePlugins()` nella classe `ProjectConfiguration`.