Як даведацца, якая версія Symfony ў мяне ёсць?

Я ведаю, што я запампаваў Symfony2 <�код /> праект і пачаў з, але я абнавіў свой пастаўшчык некалькі разоў, і я хачу ведаць, якую версію Symfony ў мяне ёсць

Любая ідэя?

91

10 адказы

Run дадатак/кансоль --version (для Symfony3: бен/кансоль --version ), гэта павінна даць вам вельмі добрая ідэя. На выпадковым праекце шахты, выйсце:

Symfony version 2.2.0-DEV - app/dev/debug

Калі вы не можаце атрымаць доступ да кансолі, паспрабуйце прачытаць Symfony/SRC/Symfony/Кампанент/HttpKernel/Kernel.php , дзе версія жорстка , напрыклад:

const VERSION         = '2.2.0';

Толькі ў выпадку, калі вам цікава, кансоль стварае асобнік Symfony \ Bundle \ FrameworkBundle \ Console \ Application . У гэтым класе канструктар, ён выкарыстоўвае Symfony \ Component \ HttpKernel \ Kernel :: VERSION , каб ініцыялізаваць яго бацькоўскі канструктар.

162
дададзена
Гэта даволі Hight на Google «як выявіць версіі Symfony» спіс, але ў мяне ёсць толькі FTP доступ да сервера. Што файл будзе ўказваць, якую версію Symfony выкарыстоўваецца?
дададзена аўтар HMR, крыніца
Вялікі дзякуй, знайшоў, што /Symfony/прадавец/Symfony/Symfony/SRC/Symfony/Component/HttpKe & ZWNJ; rnel/Kernel.php
дададзена аўтар HMR, крыніца
@Black гэта таму, што, як вы правяраеце яго ў Symfony3. Адказ OP з'яўляецца для Symfony2
дададзена аўтар iii, крыніца
для мяне гэта бен/кансоль --version
дададзена аўтар Black, крыніца
ці проста паглядзіце на левым верхнім куце ў сімфонія Dev бар (бачны толькі ў DEV мод)!
дададзена аўтар zizoujab, крыніца
@HMR проста палепшылі адказ так яно ахоплівае ваша справа. Спадзяюся, вы знойдзеце яе карыснай! :)
дададзена аўтар Diego Agulló, крыніца

Another way is to look at the source for Symfony\Component\HttpKernel\Kernel for where const VERSION is defined. Example on GitHub

Лакальна гэта будзе знаходзіцца ў пастаўшчыка/сімфонія/сімфонія/SRC/Symfony/Кампанент/HttpKernel/Kernel.php .

14
дададзена

Калі вы хочаце, каб 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, або старонках, напрыклад, калантытул

 
Built With Symfony {{ symfony_version() }} Version MIT License

Цяпер кожны раз, калі вы запускаеце абнаўленне кампазітара абнавіць пастаўшчык, Symfony версія таксама будзе аўтаматычна абнаўляцца ў вашых template.I ведае, што гэта перабор, але гэта, як я раблю гэта ў маіх праектах, і гэта працуе

5
дададзена

мы можам знайсці версію фреймворка, выкарыстоўваючы Kernel.php <�моцны /> файл, але праблема заключаецца ў месцазнаходжанні Kernal Волі змяняецца ад версіі да версіі (Better Do File Search ў вас Directory Project)

у Symfony 3.0: my_project \ пастаўшчыка \ 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**
3
дададзена

калі вы спрабуеце з версіі 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)
2
дададзена

Таксама вы можаце праверыць версію Symfony і версіі ўсіх іншых ўсталяваных пакетаў, запусціўшы

composer show

або

composer show | grep sonata

атрымаць варыянты канкрэтных пакетаў, такіх як саната і г.д.

2
дададзена

Знутры ваш праект Symfony, вы можаце атрымаць значэнне ў PHP наступным чынам:

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
1
дададзена

калі вы знаходзіцеся ў app_dev, вы можаце знайсці Symfony версію ў ніжнім левым куце старонкі

1
дададзена
Вы, магчыма, спатрэбіцца адкрыць панэль інструментаў адладкі, націснуўшы на лагатып Symfony ў правым ніжнім куце экрана;)
дададзена аўтар Nic Wortel, крыніца

Выкарыстоўвайце наступную каманду ў вашым тэрмінале/Камандны радок:

php bin/console --version

Гэта дасць вам ваш Symfony версіі.

1
дададзена
Больш падрабязнае тлумачэнне было б карысна.
дададзена аўтар Geshode, крыніца

Для Symfony 3.4

Праверце канстанту ў гэтым файле пастаўшчыка/Symfony/HTTP-ядро/Kernel.php

const VERSION = '3.4.3';

АБО

composer show | grep symfony/http-kernel
0
дададзена