it-roy-ru.com

Как узнать какая у меня версия Symfony?

Я знаю, что скачал проект Symfony2 и начал с него, но я несколько раз обновлял своего поставщика и хочу узнать, какая у меня версия Symfony 

Любая идея ?

96
zizoujab

Запустите app/console --version (для Symfony3: bin/console --version), это должно дать вам довольно хорошую идею. На случайном моем проекте вывод:

Symfony version 2.2.0-DEV - app/dev/debug

Если вы не можете получить доступ к консоли, попробуйте прочитать symfony/src/Symfony/Component/HttpKernel/Kernel.php, где версия hardcoded , например:

const VERSION         = '2.2.0';

На случай, если вам интересно, console создает экземпляр Symfony\Bundle\FrameworkBundle\Console\Application. В этом конструкторе класса он использует Symfony\Component\HttpKernel\Kernel::VERSION для инициализации своего родительского конструктора. 

178
Diego Agulló

Другой способ - посмотреть на источник для Symfony\Component\HttpKernel\Kernel, где определено const VERSION. Пример на GitHub

Локально это будет находиться в vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.

17
Adam Elsodaney

Если вы хотите динамически отображать версию 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: []

И вы можете вызывать его где угодно. В Controller оберните его в JSON или в нижний колонтитул страницы, например

 <p> Built With Symfony {{ symfony_version() }} Version MIT License</p>

Теперь каждый раз, когда вы запускаете обновление композитора для обновления вашего поставщика, версия Symfony также автоматически обновляется в вашем шаблоне. Я знаю, что это излишне, но так я делаю в своих проектах, и это работает

6
user2338925

Используйте следующую команду в вашем терминале/командной строке:

php bin/console --version

Это даст вам вашу версию Symfony.

3
user2815519

также вы можете проверить версию Symfony и версии всех других установленных пакетов, запустив

composer show

или же

composer show | grep sonata

чтобы получить версии конкретных пакетов, таких как соната и т. д.

3
Pavel Alazankin

мы можем найти версию Symfony, используя Kernel.php file, но проблема в том, что Местоположение Kernal будет изменяться от версии к версии (лучше поискать файлы в вашем каталоге проектов)

в 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**
3
Mohammad Fareed

Хотя уже есть много хороших ответов, я хотел бы добавить вариант, который не был упомянут. Используя команду:

php bin/console about

вы можете получить много деталей о текущем проекте. Первый раздел о самой Symfony и выглядит так:

-------------------- ------------------------------------------- 
 Symfony                                                         
-------------------- ------------------------------------------- 
 Version              4.2.3                                      
 End of maintenance   07/2019                                    
 End of life          01/2020                                    
-------------------- ------------------------------------------- 

Я нахожу другую информацию, кроме номера версии, очень полезной.

Существуют также другие разделы, предоставляющие подробности о (каркасе) Kernel, PHP, Environment.

2
cezar

если вы пытаетесь с версией Symfony

пожалуйста попробуйте с

symfony 2+

cmd> php app/console --version

symfony 3+

cmd> php bin/console - версия

например

D: проект> php bin/console --version

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

если вы находитесь в app_dev, вы можете найти версию Symfony в левом нижнем углу страницы

1
jef

Внутри вашего проекта Symfony вы можете получить значение в PHP следующим образом:

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

sonata-project/core-bundle имеет версию 2.3.9, а sonata-project/admin-bundle имеет версию 2.3.7 в соответствии с командой composer show.

0
Patrick at work

Для Symfony 3.4

Проверьте константу в этом файле vendor/symfony/http-kernel/Kernel.php

const VERSION = '3.4.3';

ИЛИ ЖЕ 

composer show | grep symfony/http-kernel
0
shiva