Ответы:
Запустите 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
Другой способ - посмотреть на источник, чтобы Symfony\Component\HttpKernel\Kernel
узнать, где const VERSION
определено. Пример на GitHub
Локально это будет расположено в vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
.
Хотя есть уже много хороших ответов, я хотел бы добавить вариант, о котором не упоминалось. Используя команду:
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 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: []
И вы можете назвать это где угодно. В контроллере оберните его в JSON или в нижний колонтитул страницы
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
Теперь каждый раз, когда вы запускаете composer update для обновления вашего поставщика, версия symfony также будет автоматически обновляться в вашем шаблоне. Я знаю, что это излишне, но я так делаю в своих проектах, и это работает.
также вы можете проверить версию Symfony и версии всех других установленных пакетов, запустив
composer show
или
composer show | grep sonata
чтобы получить версии определенных пакетов, таких как соната и т. д.
мы можем найти версию symfony с помощью файла Kernel.php, но проблема в том, что расположение ядра будет меняться от версии к версии (лучше выполнять поиск файлов в каталоге проектов)
в 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 в нижнем левом углу страницы
Для Symfony 3.4
Проверьте константу в этом файле vendor / symfony / http-kernel / Kernel.php
const VERSION = '3.4.3';
ИЛИ
composer show | grep symfony/http-kernel
composer show
команде, sonata-project / core-bundle имеет версию 2.3.9, а sonata-project / admin-bundle - версию 2.3.7 .