配置文件的原则
ob娱乐下载Symfony的配置文件是基于一套共同的原则和分享一些共同的属性。本节将详细描述他们,作为一个参考其他部分描述YAML配置文件。
缓存
symfony的所有配置文件缓存PHP文件,配置处理程ob娱乐下载序类。当is_debug
设置被设置为假
(例如刺激
环境)、YAML文件只是第一访问请求;PHP缓存用于后续请求。这意味着“沉重”工作是只有一次完成的,当第一次YAML文件解析和解释。
提示
在dev
环境中,is_debug
被设置为真正的
默认情况下,编译完成只要配置文件发生变化(symfony检查文件修改时间)。ob娱乐下载
每个配置文件的解析和缓存是通过专门配置处理程序类中配置config_handler.yml
。
在下面几节中,当我们谈论“编译”,它意味着第一次当YAML文件转换成一个PHP文件,并存储在缓存中。
提示
力配置缓存加载,您可以使用缓存:清晰
任务:
美元php ob娱乐下载symfony缓存:明确——类型=配置
常量
配置文件:core_compile.yml
,factories.yml
,generator.yml
,databases.yml
,filters.yml
,view.yml
,autoload.yml
一些配置文件允许使用预定义常量。用占位符使用常量声明% XXX %
符号(XXX是一个大写键),取而代之的是在“编译”时他们的实际价值。
配置设置
一个常数可以是任何设置中定义settings.yml
配置文件。占位符键然后一个大写的设置键名称前缀SF_
:
日志:% SF_LOGGING_ENABLED %
symfoob娱乐下载ny编译配置文件时,替换出现的所有% SF_XXX %
占位符的值settings.yml
。在上面的例子中,它将取代SF_LOGGING_ENABLED
占位符的值logging_enabled
设置中定义settings.yml
。
应用程序设置
您还可以使用设置中定义app.yml
在密钥名前面加上与配置文件APP_
。
特殊的常量
默认情况下,symfonob娱乐下载y定义了四个常数根据当前前端控制器:
常数 | 描述 | 配置方法 |
---|---|---|
SF_APP |
当前的应用程序名称 | getApplication () |
SF_ENVIRONMENT |
当前环境下名字 | getEnvironment () |
SF_DEBUG |
是否启用调试 | isDebug () |
SF_ob娱乐下载SYMFONY_LIB_DIR |
symfob娱乐下载ony库目录 | getob娱乐下载SymfonyLibDir () |
目录
常数也是非常有用的,当你需要引用一个目录或一个文件路径没有硬编码。ob娱乐下载Symfony定义一些常量为常见的项目和应用程序目录。
在项目层次结构的根是根目录,SF_ROOT_DIR
。所有其他常量来自这个根目录。
项目目录结构定义如下:
常量 | 默认值 |
---|---|
SF_APPS_DIR |
SF_ROOT_DIR /应用程序 |
SF_CONFIG_DIR |
SF_ROOT_DIR /配置 |
SF_CACHE_DIR |
SF_ROOT_DIR /缓存 |
SF_DATA_DIR |
SF_ROOT_DIR /数据 |
SF_LIB_DIR |
SF_ROOT_DIR / lib |
SF_LOG_DIR |
SF_ROOT_DIR /日志 |
SF_PLUGINS_DIR |
SF_ROOT_DIR /插件 |
SF_TEST_DIR |
SF_ROOT_DIR /测试 |
SF_WEB_DIR |
SF_ROOT_DIR /网络 |
SF_UPLOAD_DIR |
SF_WEB_DIR /上传 |
应用程序目录结构下定义SF_APPS_DIR / APP_NAME
目录:
常量 | 默认值 |
---|---|
SF_APP_CONFIG_DIR |
SF_APP_DIR /配置 |
SF_APP_LIB_DIR |
SF_APP_DIR / lib |
SF_APP_MODULE_DIR |
SF_APP_DIR /模块 |
SF_APP_TEMPLATE_DIR |
SF_APP_DIR /模板 |
SF_APP_I18N_DIR |
SF_APP_DIR / i18n |
最终,应用程序缓存目录结构定义如下:
常量 | 默认值 |
---|---|
SF_APP_BASE_CACHE_DIR |
SF_CACHE_DIR / APP_NAME |
SF_APP_CACHE_DIR |
SF_CACHE_DIR / APP_NAME / ENV_NAME |
SF_TEMPLATE_CACHE_DIR |
SF_APP_CACHE_DIR /模板 |
SF_I18N_CACHE_DIR |
SF_APP_CACHE_DIR / i18n |
SF_CONFIG_CACHE_DIR |
SF_APP_CACHE_DIR /配置 |
SF_TEST_CACHE_DIR |
SF_APP_CACHE_DIR /测试 |
SF_MODULE_CACHE_DIR |
SF_APP_CACHE_DIR /模块 |
环境意识
配置文件:settings.yml
,factories.yml
,databases.yml
,app.yml
一些symob娱乐下载fony的配置文件是environment-aware——他们的解释取决于当前的symfony环境。这些文件有不同的部分定义的配置应该为每个不同的环境。当创建一个新的应用程序,symfony创建合理的配置三个默认的syob娱乐下载mfony的环境:刺激
,测试
,dev
:
刺激:#配置为“刺激”环境测试:#配置的测试环境开发:#配置的开发环境:#默认配置为所有环境
当symfob娱乐下载ony需要一个值从一个配置文件,它合并配置发现在当前环境下的部分所有
配置。特殊的所有
节描述缺省配置环境。如果环境没有定义部分,symfony会回ob娱乐下载所有
配置。
配置级联
配置文件:core_compile.yml
,autoload.yml
,settings.yml
,factories.yml
,databases.yml
,security.yml
,cache.yml
,app.yml
,filters.yml
,view.yml
一些配置文件可以在几个定义配置/
子目录包含在项目目录结构。
配置编译时,从所有的值不同的文件合并根据优先顺序:
- 模块配置(
PROJECT_ROOT_DIR /应用程序/ APP_NAME /模块/ MODULE_NAME / config / XXX.yml
) - 应用程序配置(
PROJECT_ROOT_DIR /应用程序/ APP_NAME / config / XXX.yml
) - 项目配置(
PROJECT_ROOT_DIR / config / XXX.yml
) - 配置插件中定义的(
PROJECT_ROOT_DIR /插件/ * / config / XXX.yml
) - symfony中定义的缺省配置库(ob娱乐下载
SF_LIB_DIR / config / XXX.yml
)
例如,settings.yml
在应用程序目录继承自定义配置设置在主配置/
项目的目录,并最终从默认配置中包含框架本身(lib / config / config / settings.yml
)。
提示
environment-aware配置文件时,可以定义在多个目录,应用优先级列表如下:
- 模块
- 应用程序
- 项目
- 特定的环境
- 所有环境
- 默认的
这项工作在Creative Commons许可Attribution-Share都3.0 Unported许可执照。