在内核中进行配置(例如AppKernel)
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
在内核中进行配置(例如AppKernel)
一些配置可以在内核类本身(通常称为app / AppKernel.php
).你可以通过重写父类中的特定方法来做到这一点内核类。
配置
字符集
类型:字符串
默认的:utf - 8
此选项定义应用程序中使用的字符集。方法公开此值kernel.charset
配置参数和getCharset ()方法。
要更改此值,请重写getCharset ()
方法,返回另一个字符集:
1 2 3 4 5 6 7 8 9 10
/ / app / AppKernel.php/ /……类AppKernel扩展内核{公共函数getCharset(){返回“iso - 8859 - 1”;}}
内核的名字
类型:字符串
默认的:应用程序
(即包含内核类的目录名)
内核的名称通常并不直接重要——它用于生成缓存文件。如果您有一个具有多个内核的应用程序,使每个内核具有唯一名称的最简单方法是复制应用程序
目录并将其重命名为其他内容(例如:喷火
).
方法公开此值kernel.name
配置参数和getName ()方法。
要更改此设置,请重写getName ()
方法。或者,将内核移动到不同的目录中。例如,如果您将内核移动到喷火
目录(而不是应用程序
),则内核名称为喷火
.
根目录
3.3
的getRootDir ()
方法自Symfony 3.3起已弃用。ob娱乐下载使用新的getProjectDir ()
方法相反。
类型:字符串
默认的:目录AppKernel
这将返回内核类所在目录的绝对路径。如果您使用Symfony标准版ob娱乐下载,这是app /
项目目录。
方法公开此值kernel.root_dir
配置参数和getRootDir ()方法。要更改此设置,请重写getRootDir ()
方法:
12 3 4 5 6 7 8 9 10 11 12
/ / app / AppKernel.php/ /……类AppKernel扩展内核{/ /……公共函数getRootDir(){返回realpath (父::getRootDir()。“/ . . /”);}}
项目目录
3.3
的getProjectDir ()
方法在Symfony 3.3中引入。ob娱乐下载
类型:字符串
默认的:工程目录composer.json
这将返回Symfony项目根目录的绝对路径。ob娱乐下载它被自动计算为main所在的目录composer.json
文件被保存。
方法公开此值kernel.project_dir
配置参数和getProjectDir ()方法。要更改此设置,请重写getProjectDir ()
方法返回正确的项目目录:
12 3 4 5 6 7 8 9 10 11 12
/ / app / AppKernel.php/ /……类AppKernel扩展内核{/ /……公共函数getProjectDir(){返回realpath (__DIR__.“/ . . /”);}}
缓存目录
类型:字符串
默认的:$ this - > rootDir /缓存/ $ this - >环境
这将返回Symfony项目的缓存目录的绝对路径。ob娱乐下载它是根据电流自动计算的环境.
方法公开此值kernel.cache_dir
配置参数和getCacheDir ()方法。要更改此设置,请重写getCacheDir ()
方法返回正确的缓存目录。
日志目录
类型:字符串
默认的:$ this - > rootDir /日志
这将返回Symfony项目日志目录的绝对路径。ob娱乐下载它是根据电流自动计算的环境.
方法公开此值kernel.log_dir
配置参数和getLogDir ()方法。要更改此设置,请重写getLogDir ()
方法返回正确的日志目录。
容器构建时间
类型:字符串
默认的:执行结果时间()
ob娱乐下载Symfony遵循可再生的构建哲学,确保编译完全相同的源代码的结果不会产生不同的结果。这有助于检查给定的二进制代码或可执行代码是否从一些可信的源代码编译而来。
在实践中,编译服务容器如果你不改变它的源代码,你的应用程序的代码将总是相同的。这是通过以下配置参数公开的:
container.build_hash
,所有源文件内容的散列;container.build_time
,容器构建时刻的时间戳(执行PHP的时间函数);container.build_id
,前两个参数合并后的结果,用CRC32编码。
自container.build_time
值将在每次编译应用程序时更改,构建将不是严格可复制的。如果您关心这个问题,解决方案是使用另一个名为kernel.container_build_time
并将其设置为不变的构建时间,以实现严格的可重复构建:
- YAML
- XML
- PHP
1 2 3 4
# app / config / services.yml参数:#……kernel.container_build_time:“1234567890”