Відповіді:
Запустіть 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: []
І назвати це можна де завгодно. У програмі Controller загорніть його в JSON або у нижній колонтитул сторінки
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
Тепер кожен раз, коли ви запускаєте оновлення композитора для оновлення свого постачальника, версія symfony також автоматично оновлюватиметься у вашому шаблоні. Я знаю, що це надмірність, але саме так я це роблю в своїх проектах, і це працює.
також ви можете перевірити версію symfony та версії всіх інших встановлених пакетів, запустивши
composer show
або
composer show | grep sonata
щоб отримати версії конкретних пакетів, таких як соната тощо.
ми можемо знайти версію symfony за допомогою файлу Kernel.php, але проблема полягає в тому, що розташування Kernal Will зміниться від версії до версії (Краще пошук файлів у вашому каталозі проектів)
в 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 3.4
Перевірте константу в цьому файлі vendor / symfony / http-kernel / Kernel.php
const VERSION = '3.4.3';
АБО
composer show | grep symfony/http-kernel
composer show
командою.