1

SessionSymfony 2.0.x (uses ) と Symfony 2.1.x (uses )の両方で、サービス内から現在のロケールを取得する必要がありますRequest

私は次のようなことをします:

if(version_compare(Symfony::VERSION, '2.1.0') < 0) {
    $obj = $this->get('session');
}
else {
    $obj = $this->get('request');
}

$locale = $obj->getLocale();

しかし、Symfony::VERSION定数はありません。何か案が?とは別にis_callable、何か変なものを使用して...

4

1 に答える 1

2
use Symfony\Component\HttpKernel\Kernel;
echo Kernel::VERSION . "\n";

これが推奨される方法かどうかはわかりませんが、機能します。カーネル クラスは実際には bootstrap.cache クラスで定義されているため、Symfony ソースを更新するたびに VERSION が更新されます。

また、以下を公開します。

const VERSION         = '2.1.4-DEV';
const VERSION_ID      = '20100';
const MAJOR_VERSION   = '2';
const MINOR_VERSION   = '1';
const RELEASE_VERSION = '4';
const EXTRA_VERSION   = 'DEV';
于 2012-12-21T21:39:12.870 に答える