Symfony2
プロジェクトをダウンロードして開始したことは知っていますが、ベンダーを数回更新しているので、持っているsymfonyのバージョンを知りたいです
何か案が ?
app/console --version
(Symfony3の場合:bin/console --version
)を実行すると、かなり良いアイデアが得られます。私のランダムなプロジェクトでは、出力は次のとおりです。
Symfony version 2.2.0-DEV - app/dev/debug
コンソールにアクセスできない場合は、symfony/src/Symfony/Component/HttpKernel/Kernel.php
を読んでみてください。バージョンは hardcoded です。たとえば:
const VERSION = '2.2.0';
ご参考までに、console
はSymfony\Bundle\FrameworkBundle\Console\Application
のインスタンスを作成します。このクラスコンストラクターでは、Symfony\Component\HttpKernel\Kernel::VERSION
を使用して親コンストラクターを初期化します。
別の方法は、Symfony\Component\HttpKernel\Kernel
が定義されている場所のconst VERSION
のソースを調べることです。 GitHub の例
ローカルでは、これはvendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
にあります。
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: []
また、どこでも呼び出すことができます。Controllerで、JSONで、またはページの例のフッターでラップします。
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
composer updateを実行してベンダーを更新するたびに、symfonyバージョンもテンプレートで自動的に更新されます。
すでに多くの良い答えがありますが、言及されていないオプションを追加したいと思います。コマンドの使用:
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で試してみると
で試してください
symfony 2 +
cmd> php app/console --version
symfony 3+
cmd> php bin/console --version
例えば
D:project> php bin/console --version
Symfony 3.2.8 (kernel: app, env: dev, debug: true)
また、symfonyのバージョンとインストールされている他のすべてのパッケージのバージョンを実行することで確認できます
composer show
または
composer show | grep sonata
ソナタなどの特定のパッケージのバージョンを取得する.
Kernel.php fileを使用してsymfonyのバージョンを見つけることができますが、問題はバージョンからバージョンへのKernal Willの場所の変更です(プロジェクトディレクトリでのファイル検索の改善)
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です。
Symfony 3.4の場合
このファイルの定数を確認してくださいvendor/symfony/http-kernel/Kernel.php
const VERSION = '3.4.3';
OR
composer show | grep symfony/http-kernel