2013-05-30 7 views

ответ

139

Пробег 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 для инициализации своего родительского конструктора.

+3

или просто взглянуть на левом верхнем углу в Symfony Dev бар (видимый только в DEV мод)! – zizoujab

+0

Это довольно громко в google как узнать список версий Symfony, но у меня есть только FTP-доступ к серверу. В каком файле указывается, какая версия Symfony используется? – HMR

+0

@ HMR только улучшил ответ, поэтому он охватывает ваш случай. Надеюсь, вы найдете ее полезной! :) –

1

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

+1

Возможно, вам придется открыть панель инструментов отладки, нажав на логотип Symfony в нижнем правом углу экрана;) –

12

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

Локально это место было бы расположено в vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.

1

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

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION; 
5

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

А вы можете назвать это anywhere.In контроллер, завернуть его в формате JSON, или страницы, например сноске

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

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

3

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

в symfony 3.0: my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.PHP

Проверка от контроллера/PHP File

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION; 
echo $symfony_version; // this will return version; **o/p:3.0.4-DEV** 
2

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

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

Symfony 2 +

CMD> PHP приложение/console --version

Symfony 3+

CMD> PHP бен/консоль --version

, например

D: проект> PHP бен/консоль --version

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

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

composer show 

или

composer show | grep sonata 

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

0

Для Symfony 3.4

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

const VERSION = '3.4.3'; 

ИЛИ

composer show | grep symfony/http-kernel 
Смежные вопросы