Answers:
运行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
尽管已经有很多好的答案,但我想添加一个未提及的选项。使用命令:
php bin/console about
您可以获得有关当前项目的许多详细信息。第一部分是关于Symfony本身的,看起来像这样:
-------------------- -------------------------------------------
Symfony
-------------------- -------------------------------------------
Version 4.2.3
End of maintenance 07/2019
End of life 01/2020
-------------------- -------------------------------------------
我发现除版本号以外的其他信息也非常有用。
还有其他部分提供有关(框架)内核,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版本也会自动在模板中更新。
您还可以通过运行以下命令检查symfony的版本以及所有其他已安装软件包的版本
composer show
要么
composer show | grep sonata
获取特定包的版本,例如奏鸣曲等。
我们可以使用Kernel.php文件找到symfony版本,但问题是内核的位置会随版本而变化(在项目目录中最好执行文件搜索)
在symfony 3.0中:my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php
从Controller / PHP文件中检查
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
echo $symfony_version; // this will return version; **o/p:3.0.4-DEV**
对于Symfony 3.4
检查此文件中的常量vendor / symfony / http-kernel / Kernel.php
const VERSION = '3.4.3';
要么
composer show | grep symfony/http-kernel
composer show
。