如何知道我有哪个版本的Symfony?

我知道我已经下载了一个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 ,其中的版本是硬编码的 ,例如:

 const VERSION = '2.2.0'; 

万一你想知道, console会创build一个Symfony\Bundle\FrameworkBundle\Console\Application的实例。 在这个类的构造函数中,它使用Symfony\Component\HttpKernel\Kernel::VERSION来初始化其父构造函数。

另一种方法是查看定义了const VERSION Symfony\Component\HttpKernel\Kernel的源代码。 在GitHub上的例子

本地这将位于vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php

如果你想dynamic地在页面中显示你的Symfony 2版本,例如页脚,你可以这样做。

创build一个服务

 <?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 php更新更新您的供应商,symfony版本也将自动更新在您的模板。我知道这是矫枉过正,但这是如何做到这一点在我的项目,它正在工作

我们可以find使用Kernel.php文件的symfony版本,但问题是内核的位置将从版本更改为版本(在您的项目目录中更好地做文件search)

在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

请尝试

symfony 2 +

cmd> php的应用程序/控制台 – 版本

symfony 3+

cmd> php bin / console –version

例如

D:project> php bin / console –version

 Symfony 3.2.8 (kernel: app, env: dev, debug: true) 

如果你在app_dev,你可以在页面的左下angularfindsymfony版本

从你的Symfony项目中,你可以通过这种方式获得PHP的价值:

 $symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;