11 ответов:
выполнить
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\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; } }зарегистрироваться в сервисе.в формате YML
dut.twig.symfony_version_extension: class: Project\Bundle\DutBundle\Twig\SymfonyVersionExtension tags: - { name: twig.extension } #arguments: []и вы можете назвать это anywhere.In контроллер, оберните его в JSON, или в примере страницы нижний колонтитул
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>Теперь каждый раз, когда вы запускаете composer update для обновления вашего поставщика, версия symfony также автоматически обновляется в вашем шаблоне.Я знаю, что это перебор но вот как я это делаю в своих проектах и это работает
мы можем найти версию symfony с помощью ядра.php файл, но проблема заключается в том, что расположение ядра будет меняться от версии к версии (лучше сделать поиск файлов в каталоге проекта)
в 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
пожалуйста, попробуйте с
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чтобы получить версии конкретных пакетов, таких как sonata и т. д.
используйте следующую команду в терминале/командной строке:
php bin/console --versionЭто даст Вам Вашу версию Symfony.
из вашего проекта Symfony вы можете получить значение в PHP следующим образом:
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
Для Symfony 3.4
Проверьте константу в этом файле vendor / symfony/http-kernel / Kernel.php
const VERSION = '3.4.3';или
composer show | grep symfony/http-kernel
соната-проект/ядра-клад в версии 2.3.9 и соната-проекта/администратор-пачка на версии 2.3.7, согласно .
Comments