配置Kernel(如:AppKernel)

3.4 版本
维护中的版本

一些配置是可以在kernel类自身中完成的(通常是app/AppKernel.php)。你可以用这种方式来覆写其父类Kernel中的特定方法。

配置 

字符集 

值类型: string 默认值: UTF-8

返回程序级的字符集。要改变它,覆写 getCharset() 方法并返回另一个charset比如:

1
2
3
4
5
6
7
8
9
10
// app/AppKernel.php
 
// ...
class AppKernel extends Kernel
{
    public function getCharset()
    {
        return 'ISO-8859-1';
    }
}

Kernel名称 

值类型: string 默认值: app (比如,容纳kernel类的目录名)

要改变此项设置,覆写 getName() 方法。又或者,移动kernel到一个不同目录下。比如,你如果你把kernel移到了 foo 目录 (替代 app), kernel名称将变为 foo.

kernel的名字通常并不重要 - 它被用于生成缓存文件。如果你的程序有多个kernels,令每一个都有唯一名称的最简单方式就是复制 app 目录然后重命名为其他什么 (比如, foo)。

根目录 

值类型: string 默认值: AppKernel 的目录

它返回kernel的根目录。如果你使用的是Symfony标准版,根目录引用的是app目录。

要改变此项设置,覆写 getRootDir() 方法:

1
2
3
4
5
6
7
8
9
10
11
12
// app/AppKernel.php
 
// ...
class AppKernel extends Kernel
{
    // ...
 
    public function getRootDir()
    {
        return realpath(parent::getRootDir().'/../');
    }
}

缓存目录 

值类型: string 默认值: $this->rootDir/cache/$this->environment

它返回缓存目录的路径。要改变它,覆写 getCacheDir() 方法。参考 "覆写缓存目录" 以了解更多。

日志目录 

值类型: string 默认值: $this->rootDir/logs

它返回日志目录的路径。要改变它,覆写 getLogDir() 方法。参考 "覆写日志目录" 以了解更多。

本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。

登录symfonychina 发表评论或留下问题(我们会尽量回复)