如何知道我有哪个版本的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;