Php 更改Symfony2中的默认区域设置
我正在尝试更改应用程序的默认区域设置。到目前为止我已经尝试过的事情:Php 更改Symfony2中的默认区域设置,php,symfony,Php,Symfony,我正在尝试更改应用程序的默认区域设置。到目前为止我已经尝试过的事情: 将intl.default\u locale设置为“et\u EE” 在app/config/parameters.ini中将locale设置为“et” 更改了我的bundle的boot()方法中的默认区域设置 实现了一个类Locale,该类Locale扩展了StubLocale并覆盖方法getDefault()以返回“et_EE” 下面是实现。由于调用\Locale::getDefault()未执行此方法,区域设置类似乎
- 将intl.default\u locale设置为“et\u EE”
- 在
app/config/parameters.ini中将locale设置为“et”
- 更改了我的bundle的boot()方法中的默认区域设置
- 实现了一个类Locale,该类Locale扩展了StubLocale并覆盖方法getDefault()以返回“et_EE”
\Locale::getDefault()
未执行此方法,区域设置类似乎没有被覆盖
<?php
use Symfony\Component\Locale\Stub\StubLocale;
class Locale extends StubLocale
{
static public function getDefault()
{
return 'et_EE';
}
}
Symfony 2.0中的:
# app/config/config.yml
framework:
session: { default_locale: en }
在Symfony 2.1+中:
# app/config/config.yml
framework:
default_locale: en
在Symfony 2.0中,您也可以为会话设置default\u locale
:
framework:
translator: { fallback: %locale% }
...
session:
default_locale: %locale%
auto_start: true
%locale%
是一个变量,它是从parameters.ini
文件解析的。Kudos!我浏览了那个地方很多次,因为它有session:{default_locale:%locale%}我假设它从parameters.ini中获取了值。它有效。这已经过时了。现在是框架配置的设置:framework:default\u区域设置:%locale%
\locale::getDefault()不会执行此方法,因为它是由PHP提供的。Symfony使用的区域设置类不是\Locale,而是扩展\Locale的\Symfony\Component\Locale\Locale。