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 ?
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.
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
.
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.
Utilisez la commande suivante dans votre invite de terminal/commande:
php bin/console --version
Cela vous donnera votre version de Symfony.
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.
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**
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.
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)
si vous êtes dans app_dev, vous pouvez trouver la version de symfony dans le coin inférieur gauche de la page.
Depuis votre projet Symfony, vous pouvez obtenir la valeur dans PHP de cette façon:
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
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
.
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