Я знаю, что загрузил Symfony2проект и начал с него, но я несколько раз обновлял своего поставщика и хочу знать, какая версия Symfony у меня установлена.
Согласно composer showкоманде, sonata-project / core-bundle имеет версию 2.3.9, а sonata-project / admin-bundle - версию 2.3.7 .
Патрик
Ответы:
220
Запустите 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 (отображается только в моде разработчика)!
zizoujab 09
Это довольно высокий пункт в списке Google "как определить версию Symfony", но у меня есть только FTP-доступ к серверу. В каком файле будет указано, какая версия Symfony используется?
HMR
@HMR просто улучшил ответ, чтобы охватить ваш случай. Надеюсь, что вы найдете ее полезной! :)
Diego Agulló
1
Большое спасибо, нашел/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR
7
для меня этоbin/console --version
Black
24
Другой способ - посмотреть на источник, чтобы Symfony\Component\HttpKernel\Kernelузнать, где const VERSIONопределено. Пример на GitHub
Локально это будет расположено в vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.
Хотя есть уже много хороших ответов, я хотел бы добавить вариант, о котором не упоминалось. Используя команду:
php bin/console about
вы можете получить много подробностей о текущем проекте. Первый раздел посвящен самой Symfony и выглядит так:
---------------------------------------------------------------Symfony---------------------------------------------------------------Version4.2.3Endof maintenance 07/2019Endof life 01/2020---------------------------------------------------------------
Я считаю очень полезной другую информацию, помимо номера версии.
Есть также другие разделы, в которых подробно рассказывается о ядре (фреймворке), PHP, среде.
Если вы хотите динамически отображать вашу версию Symfony 2 на страницах, например в нижнем колонтитуле, вы можете сделать это таким образом.
Создать услугу:
<?php
namespaceProject\Bundle\DuBundle\Twig;classSymfonyVersionExtensionextends \Twig_Extension
{publicfunction getFunctions(){return array(//this is the name of the function you will use in twignew \Twig_SimpleFunction('symfony_version', array($this,'b')));}publicfunction getName(){//return 'number_employees';return'symfony_version_extension';}publicfunction b(){
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;return $symfony_version;}}
И вы можете назвать это где угодно. В контроллере оберните его в JSON или в нижний колонтитул страницы
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
Теперь каждый раз, когда вы запускаете composer update для обновления вашего поставщика, версия symfony также будет автоматически обновляться в вашем шаблоне. Я знаю, что это излишне, но я так делаю в своих проектах, и это работает.
мы можем найти версию symfony с помощью файла Kernel.php, но проблема в том, что расположение ядра будет меняться от версии к версии (лучше выполнять поиск файлов в каталоге проектов)
composer show
команде, sonata-project / core-bundle имеет версию 2.3.9, а sonata-project / admin-bundle - версию 2.3.7 .Ответы:
Запустите
app/console --version
(для Symfony3 :)bin/console --version
, это должно дать вам довольно хорошее представление. В моем случайном проекте результат такой:Если вы не можете получить доступ к консоли, попробуйте прочитать
symfony/src/Symfony/Component/HttpKernel/Kernel.php
, где версия жестко запрограммирована , например:На всякий случай, если вам интересно,
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
.источник
Хотя есть уже много хороших ответов, я хотел бы добавить вариант, о котором не упоминалось. Используя команду:
вы можете получить много подробностей о текущем проекте. Первый раздел посвящен самой Symfony и выглядит так:
Я считаю очень полезной другую информацию, помимо номера версии.
Есть также другие разделы, в которых подробно рассказывается о ядре (фреймворке), PHP, среде.
источник
Используйте следующую команду в терминале / командной строке:
Это даст вам вашу версию Symfony.
источник
Если вы хотите динамически отображать вашу версию Symfony 2 на страницах, например в нижнем колонтитуле, вы можете сделать это таким образом.
Создать услугу:
Зарегистрируйтесь в service.yml
И вы можете назвать это где угодно. В контроллере оберните его в JSON или в нижний колонтитул страницы
Теперь каждый раз, когда вы запускаете composer update для обновления вашего поставщика, версия symfony также будет автоматически обновляться в вашем шаблоне. Я знаю, что это излишне, но я так делаю в своих проектах, и это работает.
источник
также вы можете проверить версию Symfony и версии всех других установленных пакетов, запустив
или
чтобы получить версии определенных пакетов, таких как соната и т. д.
источник
мы можем найти версию symfony с помощью файла Kernel.php, но проблема в том, что расположение ядра будет меняться от версии к версии (лучше выполнять поиск файлов в каталоге проектов)
в symfony 3.0: my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php
Проверка из файла контроллера / PHP
источник
если вы пытаетесь с версией Symfony
пожалуйста, попробуйте с
Symfony 2+
Symfony 3+
например
источник
Изнутри вашего проекта Symfony вы можете получить значение в PHP следующим образом:
источник
если вы находитесь в app_dev, вы можете найти версию Symfony в нижнем левом углу страницы
источник
Для Symfony 3.4
Проверьте константу в этом файле vendor / symfony / http-kernel / Kernel.php
ИЛИ
источник