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



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



есть идеи ?

721   11  

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.

Если вы находитесь в app_dev, вы можете найти версию 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

    Ничего не найдено.