web-dev-qa-db-fra.com

Comment savoir quelle version de Symfony j'ai?

Je sais que j'ai téléchargé un projet Symfony2 et commencé avec mais j'ai mis à jour mon fournisseur plusieurs fois et je veux savoir quelle version de symfony j'ai 

Une idée ?

96
zizoujab

Exécutez app/console --version (pour Symfony3: bin/console --version), cela devrait vous donner une très bonne idée. Sur un de mes projets au hasard, le résultat est:

Symfony version 2.2.0-DEV - app/dev/debug

Si vous ne pouvez pas accéder à la console, essayez de lire symfony/src/Symfony/Component/HttpKernel/Kernel.php où la version est hardcoded , par exemple:

const VERSION         = '2.2.0';

Juste au cas où vous vous le demanderiez, console crée une instance de Symfony\Bundle\FrameworkBundle\Console\Application. Dans ce constructeur de classe, il utilise Symfony\Component\HttpKernel\Kernel::VERSION pour initialiser son constructeur parent. 

178
Diego Agulló

Une autre méthode consiste à consulter le code source Symfony\Component\HttpKernel\Kernel pour indiquer où const VERSION est défini. Exemple sur GitHub

Localement, cela serait situé dans vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.

17
Adam Elsodaney

Si vous souhaitez afficher de manière dynamique votre version de Symfony 2 dans des pages, par exemple dans un pied de page, vous pouvez le faire de cette façon.

créer un service

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

Inscrivez-vous sur service.yml

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

Et vous pouvez l'appeler n'importe où. Dans Controller, enveloppez-le au format JSON ou dans l'exemple de pied de page.

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

Maintenant, chaque fois que vous exécutez update pour mettre à jour votre fournisseur, la version de symfony sera automatiquement mise à jour dans votre modèle.

6
user2338925

Utilisez la commande suivante dans votre invite de terminal/commande:

php bin/console --version

Cela vous donnera votre version de Symfony.

3
user2815519

vous pouvez également vérifier la version de symfony et les versions de tous les autres packages installés en exécutant

composer show

ou

composer show | grep sonata

pour obtenir des versions de paquets spécifiques comme sonata, etc.

3
Pavel Alazankin

nous pouvons trouver la version de symfony en utilisant Kernel.php fichier mais le problème est l’emplacement de Kernal Will change de version à version (Meilleure recherche de fichiers dans votre répertoire de projet)

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

Vérifier depuis le contrôleur/PHP Fichier

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

Bien qu'il y ait déjà beaucoup de bonnes réponses, j'aimerais ajouter une option qui n'a pas été mentionnée. En utilisant la commande:

php bin/console about

vous pouvez obtenir de nombreux détails sur le projet en cours. La première section concerne Symfony et ressemble à ceci:

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

Outre les numéros de version, je trouve les informations très utiles.

Il y a aussi d'autres sections fournissant des détails sur le noyau (framework), PHP, Environment.

2
cezar

si vous essayez avec la version symfony

s'il vous plaît essayer avec

symfony 2 +

cmd> php app/console --version

symfony 3+

cmd> php bin/console --version

par exemple

D: projet> php bin/console --version

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

si vous êtes dans app_dev, vous pouvez trouver la version de symfony dans le coin inférieur gauche de la page.

1
jef

Depuis votre projet Symfony, vous pouvez obtenir la valeur dans PHP de cette façon:

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

sonata-project/core-bundle est à la version 2.3.9 et sonata-project/admin-bundle à la version 2.3.7, conformément à la commande composer show.

0
Patrick at work

Pour Symfony 3.4

Vérifiez la constante dans ce fichier vendor/symfony/http-kernel/Kernel.php

const VERSION = '3.4.3';

OU 

composer show | grep symfony/http-kernel
0
shiva