回答:
ファイル名を指定して実行app/console --version
(Symfony3用:bin/console --version
)、それはあなたにかなり良いアイデアを与える必要があります。私のランダムプロジェクトでは、出力は次のようになります。
Symfony version 2.2.0-DEV - app/dev/debug
コンソールにアクセスできない場合symfony/src/Symfony/Component/HttpKernel/Kernel.php
は、たとえば、バージョンがハードコードされているをお試しください。
const VERSION = '2.2.0';
ご参考までにconsole
、のインスタンスを作成しますSymfony\Bundle\FrameworkBundle\Console\Application
。このクラスコンストラクターではSymfony\Component\HttpKernel\Kernel::VERSION
、親コンストラクターを初期化するために使用します。
/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
bin/console --version
もう1つの方法は、ソースSymfony\Component\HttpKernel\Kernel
がどこconst VERSION
で定義されているかを調べることです。GitHubの例
ローカルでは、これはにありvendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
ます。
良い答えはたくさんありますが、言及されていないオプションを追加したいと思います。コマンドを使用:
php bin/console about
現在のプロジェクトに関する多くの詳細を取得できます。最初のセクションはSymfony自体に関するもので、次のようになります。
-------------------- -------------------------------------------
Symfony
-------------------- -------------------------------------------
Version 4.2.3
End of maintenance 07/2019
End of life 01/2020
-------------------- -------------------------------------------
バージョン番号以外の情報も非常に役立ちます。
(フレームワーク)カーネル、PHP、環境に関する詳細を提供する他のセクションもあります。
ターミナル/コマンドプロンプトで次のコマンドを使用します。
php bin/console --version
これはあなたのSymfonyバージョンを提供します。
Symfony 2のバージョンをフッターなどのページに動的に表示したい場合は、この方法で行うことができます。
サービスを作成します。
<?php
namespace Project\Bundle\DuBundle\Twig;
class SymfonyVersionExtension extends \Twig_Extension
{
public function getFunctions()
{
return array(
//this is the name of the function you will use in twig
new \Twig_SimpleFunction('symfony_version', array($this, 'b'))
);
}
public function getName()
{
//return 'number_employees';
return 'symfony_version_extension';
}
public function b()
{
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
return $symfony_version;
}
}
service.ymlに登録する
dut.twig.symfony_version_extension:
class: Project\Bundle\DutBundle\Twig\SymfonyVersionExtension
tags:
- { name: twig.extension }
#arguments: []
そして、どこにでもそれを呼び出すことができます。コントローラーで、JSONまたはページのサンプルフッターにラップします。
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
これで、composer updateを実行してベンダーを更新するたびに、symfonyのバージョンもテンプレートで自動的に更新されます。これはやり過ぎであることがわかっていますが、これは私のプロジェクトで行う方法であり、機能しています。
また、symfonyのバージョンとインストールされている他のすべてのパッケージのバージョンを確認することができます
composer show
または
composer show | grep sonata
ソナタなどの特定のパッケージのバージョンを取得する
Kernel.phpファイルを使用してsymfonyのバージョンを見つけることができますが、問題はカーネルの意志の場所がバージョンごとに変化することです(プロジェクトディレクトリでファイル検索を実行することをお勧めします)
symfony 3.0の場合:my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php
コントローラ/ PHPファイルから確認
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
echo $symfony_version; // this will return version; **o/p:3.0.4-DEV**
Symfonyプロジェクト内から、次の方法でPHPの値を取得できます。
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
app_devを使用している場合は、ページの左下隅にsymfonyのバージョンがあります。
composer show
コマンドによると、sonata-project / core-bundleはバージョン2.3.9で、sonata-project / admin-bundleはバージョン2.3.7 です。