The symfony Reference Book

Altri file di configurazione

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "The symfony Reference Book" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com

Chapter Content

autoload.yml

config_handlers.yml

core_compile.yml

symfony training
Be trained by symfony experts
May 29: Paris (Web Development with Symfony2 - Français)
May 31: Paris (Mastering Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - English)
Jun 06: Paris (Going Further with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "The symfony Reference Book" in Italian for the 1.2 version - Switch to version: - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
This version of symfony is not maintained anymore.
If some of your projects still use this version, consider upgrading as soon as possible.
The symfony reference guide
Support symfony!
Buy this book
or donate.
Buy The symfony reference guide from amazon.com

Questo capitolo descrive altri file di configurazione, che raramente necessitano di essere cambiati.

autoload.yml

La configurazione autoload.yml determina quali cartelle necessitano di essere caricate automaticamente da symfony. Ogni cartella è analizzata alla ricerca di classi e interfacce PHP.

Come discusso in sede di introduzione, il file autoload.yml trae beneficio dal meccanismo di configurazione a cascata e può includere costanti.

Il file di configurazione autoload.yml è messo in cache come file PHP; il processo è gestito automaticamente dalla classe sfAutoloadConfigHandler.

La configurazione predefinita va bene per la maggior parte dei progetti:

autoload:
  # project
  project:
    name:           project
    path:           %SF_LIB_DIR%
    recursive:      on
    exclude:        [model, symfony]
 
  project_model:
    name:           project model
    path:           %SF_LIB_DIR%/model
    recursive:      on
 
  # application
  application:
    name:           application
    path:           %SF_APP_LIB_DIR%
    recursive:      on
 
  modules:
    name:           module
    path:           %SF_APP_DIR%/modules/*/lib
    prefix:         1
    recursive:      on

Ogni configurazione ha un nome e deve essere assegnato con una chiave che ha quel nome. Questo consente di sovrascrivere la configurazione predefinita.

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.

Diverse chiavi possono essere usate per personalizzare il comportamento dell'autocaricamento:

Per esempio, se si incorpora una grossa libreria all'interno del progetto sotto la cartella lib/ e se essa già supporta l'autocaricamento, si può escluderla dal sistema di autocaricamento predefinito di symfony per beneficiare di un aumento delle prestazioni, modificando la configurazione project di autocaricamento:

autoload:
  project:
    name:           project
    path:           %SF_LIB_DIR%
    recursive:      on
    exclude:        [model, symfony, vendor/large_lib]

config_handlers.yml

Il file di configurazione config_handlers.yml descrive la configurazione usata per gestire le classi usate per analizzare e interpretare tutti gli altri file di configurazione YAML. Di seguito la configurazione predefinita usata per caricare il file di configurazione settings.yml:

config/settings.yml:
  class:    sfDefineEnvironmentConfigHandler
  param:
    prefix: sf_

Ogni file di configurazione è definito da una classe (la voce class) e può essere ulteriormente personalizzato definendo alcuni parametri sotto la sezione param.

Il file predefinito config_handlers.yml definisce le classi da analizzare come segue:

File di configurazione Config classe Handler
autoload.yml sfAutoloadConfigHandler
databases.yml sfDatabaseConfigHandler
settings.yml sfDefineEnvironmentConfigHandler
app.yml sfDefineEnvironmentConfigHandler
factories.yml sfFactoryConfigHandler
core_compile.yml sfCompileConfigHandler
filters.yml sfFilterConfigHandler
routing.yml sfRoutingConfigHandler
generator.yml sfGeneratorConfigHandler
view.yml sfViewConfigHandler
security.yml sfSecurityConfigHandler
cache.yml sfCacheConfigHandler
module.yml sfDefineEnvironmentConfigHandler

core_compile.yml

Il file di configurazione core_compile.yml descrive i file PHP che sono uniti in un unico grosso file nell'ambiente prod, per velocizzare il tempo necessario a symfony per caricare. Per impostazione predefinita, le principali classi del core di symfony sono definite in questo file di configurazione. Se l'applicazione si basa su alcune classi che necessitano di essere caricate per ogni richiesta, è possibile creare un file di configurazione core_compile.yml nel progetto o applicazione e aggiungerli ad esso. Questo è un estratto della configurazione predefinita:

- %SF_SYMFONY_LIB_DIR%/autoload/sfAutoload.class.php
- %SF_SYMFONY_LIB_DIR%/action/sfComponent.class.php
- %SF_SYMFONY_LIB_DIR%/action/sfAction.class.php
- %SF_SYMFONY_LIB_DIR%/action/sfActions.class.php

Come discusso in sede di introduzione, il file core_compile.yml beneficia del meccanismo di configurazione a cascata e può includere costanti.

Il file di configurazione core_compile.yml è messo in cache come file PHP; il processo è gestito automaticamente dalla classe sfCompileConfigHandler.

Eventi »
« Il file di configurazione view.yml

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.