Como saber qual versão do Symfony eu tenho?

127

Sei que baixei um Symfony2projeto e comecei com, mas atualizei meu fornecedor várias vezes e quero saber qual versão do symfony tenho

Qualquer ideia ?

zizoujab
fonte
O sonata-project / core-bundle está na versão 2.3.9 e o sonata-project / admin-bundle está na versão 2.3.7, de acordo com o composer showcomando.
Patrick

Respostas:

219

Corra app/console --version(para Symfony3 :) bin/console --version, ele deve lhe dar uma boa idéia. Em um projeto aleatório meu, a saída é:

Symfony version 2.2.0-DEV - app/dev/debug

Se você não puder acessar o console, tente ler symfony/src/Symfony/Component/HttpKernel/Kernel.php, onde a versão está codificada , por exemplo:

const VERSION         = '2.2.0';

Apenas no caso de você estar se perguntando, consolecria uma instância de Symfony\Bundle\FrameworkBundle\Console\Application. Neste construtor de classe, ele usa Symfony\Component\HttpKernel\Kernel::VERSIONpara inicializar seu construtor pai.

Diego Agulló
fonte
3
ou apenas dê uma olhada no canto superior esquerdo na barra de desenvolvimento do symfony (visível apenas no mod de desenvolvimento)!
precisa saber é o seguinte
Isso é bastante interessante na lista "como detectar a versão do symfony" do google, mas eu tenho apenas acesso FTP ao servidor. Que arquivo indicaria qual versão do Symfony está em uso?
HMR 23/09
O @HMR acabou de melhorar a resposta, de modo a cobrir o seu caso. Espero que você ache útil! :)
Diego Agulló 23/09/2013
1
Muito obrigado, achei/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR
7
para mim ébin/console --version
preto
24

Outra maneira é procurar a fonte Symfony\Component\HttpKernel\Kernelpara onde const VERSIONestá definido. Exemplo no GitHub

Localmente, isso seria localizado em vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.

Adam Elsodaney
fonte
20

Embora já existam muitas boas respostas, gostaria de adicionar uma opção que não foi mencionada. Usando o comando:

php bin/console about

você pode obter muitos detalhes sobre o projeto atual. A primeira seção é sobre o Symfony e é assim:

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

Acho as outras informações além do número da versão muito úteis.

Há também outras seções que fornecem detalhes sobre o Kernel (framework), PHP, Ambiente.

cezar
fonte
11

Use o seguinte comando no seu Terminal / Prompt de Comando:

php bin/console --version

Isso fornecerá a sua versão do Symfony.

user2815519
fonte
7

Se você deseja exibir dinamicamente sua versão do Symfony 2 em páginas, por exemplo, no rodapé, é possível fazê-lo dessa maneira.

Crie um serviço:

<?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;
}
}

Registre-se em service.yml

 dut.twig.symfony_version_extension:
    class: Project\Bundle\DutBundle\Twig\SymfonyVersionExtension
    tags:
        - { name: twig.extension }
    #arguments: []

E você pode chamá-lo em qualquer lugar. No Controller, envolva-o em JSON ou no rodapé de exemplo de páginas

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

Agora, toda vez que você executa a atualização do compositor para atualizar seu fornecedor, a versão do symfony também é atualizada automaticamente em seu modelo.

cezar
fonte
5

você também pode verificar a versão do symfony e as versões de todos os outros pacotes instalados executando

composer show

ou

composer show | grep sonata

para obter versões de pacotes específicos como sonata etc.

Pavel Alazankin
fonte
4

podemos encontrar a versão symfony usando o arquivo Kernel.php, mas o problema é a localização do Kernal Will muda de versão para versão (melhor pesquisa de arquivos no diretório de projetos)

no symfony 3.0: my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php

Verifique no arquivo Controller / PHP

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

se você está tentando com a versão symfony

por favor tente com

symfony 2 +

cmd> php app / console --version

symfony 3+

cmd> php bin / console - versão

por exemplo

D: projeto> php bin / console --version

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

De dentro do seu projeto Symfony, você pode obter o valor em PHP da seguinte maneira:

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

se você estiver no app_dev, poderá encontrar a versão symfony no canto inferior esquerdo da página

jef
fonte
1
Talvez seja necessário abrir a barra de ferramentas de depuração, clicando no logotipo Symfony no canto inferior direito da tela;)
Nic Wortel
1

Para Symfony 3.4

Verifique a constante neste arquivo vendor / symfony / http-kernel / Kernel.php

const VERSION = '3.4.3';

OU

composer show | grep symfony/http-kernel
Yogesh Yadav
fonte