![]() |
|
The symfony Reference BookAltri file di configurazione |
|
You are currently reading "The symfony Reference Book" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

|
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. |
Questo capitolo descrive altri file di configurazione, che raramente necessitano di essere cambiati.
autoload.ymlLa 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 classesfAutoloadConfigHandler.
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:
name: Una descrizionepath: Il percorso da autocaricarerecursive: Per cercare le classi PHP nelle sotto-cartelleexclude: Un array di nomi di cartelle da escludere nella ricercaprefix: Assegnare a true se le classi trovate nel percorso devono essere autocaricate solo per un dato modulo (valore predefinito false)files: Un array di file di cui fare il parsing esplicitamente per le classi PHPext: L'estensione delle classi PHP (valore predefinito .php)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.ymlIl 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.ymlIl 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 classesfCompileConfigHandler.
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.