Comment savoir quelle version de Symfony je possède?
128
Je sais que j'ai téléchargé un Symfony2projet et commencé avec mais j'ai mis à jour mon fournisseur plusieurs fois et je veux savoir quelle version de symfony j'ai
sonata-project / core-bundle est à la version 2.3.9 et sonata-project / admin-bundle est à la version 2.3.7, selon la composer showcommande.
Patrick le
Réponses:
220
Run app/console --version(pour Symfony3 :) bin/console --version, cela devrait vous donner une assez bonne idée. Sur un de mes projets aléatoires, 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 codée en dur , par exemple:
const VERSION ='2.2.0';
Juste au cas où vous vous poseriez la question, consolecrée une instance de Symfony\Bundle\FrameworkBundle\Console\Application. Dans ce constructeur de classe, il utilise Symfony\Component\HttpKernel\Kernel::VERSIONpour initialiser son constructeur parent.
ou jetez simplement un œil en haut à gauche dans la barre de développement symfony (visible uniquement dans le mod de développement)!
zizoujab
C'est assez élevé sur la liste google "comment détecter la version symfony" mais je n'ai qu'un accès FTP au serveur. Quel fichier indiquerait quelle version de Symfony est utilisée?
HMR
@HMR vient d'améliorer la réponse pour qu'elle couvre votre cas. J'espère que vous le trouverez utile! :)
Diego Agulló
1
Merci beaucoup, je l'ai trouvé/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR
7
pour moi c'estbin/console --version
Noir
24
Une autre façon est de regarder la source Symfony\Component\HttpKernel\Kernelpour savoir où const VERSIONest défini. Exemple sur GitHub
Localement, ce serait situé dans vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.
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 lui-même et ressemble à ceci:
---------------------------------------------------------------Symfony---------------------------------------------------------------Version4.2.3Endof maintenance 07/2019Endof life 01/2020---------------------------------------------------------------
Je trouve les autres informations en plus du numéro de version très utiles.
Il existe également d'autres sections fournissant des détails sur le noyau (framework), PHP, l'environnement.
Si vous souhaitez afficher de manière dynamique votre version Symfony 2 dans les pages, par exemple en pied de page, vous pouvez le faire de cette façon.
Créez un service:
<?php
namespaceProject\Bundle\DuBundle\Twig;classSymfonyVersionExtensionextends \Twig_Extension
{publicfunction getFunctions(){return array(//this is the name of the function you will use in twignew \Twig_SimpleFunction('symfony_version', array($this,'b')));}publicfunction getName(){//return 'number_employees';return'symfony_version_extension';}publicfunction b(){
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;return $symfony_version;}}
Et vous pouvez l'appeler n'importe où. Dans Controller, enveloppez-le dans JSON ou dans un exemple de pied de page
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
Maintenant, chaque fois que vous exécutez la mise à jour de composer pour mettre à jour votre fournisseur, la version de symfony sera également automatiquement mise à jour dans votre modèle. Je sais que c'est exagéré, mais c'est comme ça que je le fais dans mes projets et cela fonctionne.
nous pouvons trouver la version de symfony en utilisant le fichier Kernel.php mais le problème est que l'emplacement des changements de Kernal Will d'une version à l'autre (Better Do File Search dans votre répertoire de projet)
composer show
commande.Réponses:
Run
app/console --version
(pour Symfony3 :)bin/console --version
, cela devrait vous donner une assez bonne idée. Sur un de mes projets aléatoires, le résultat est:Si vous ne pouvez pas accéder à la console, essayez de lire
symfony/src/Symfony/Component/HttpKernel/Kernel.php
, où la version est codée en dur , par exemple:Juste au cas où vous vous poseriez la question,
console
crée une instance deSymfony\Bundle\FrameworkBundle\Console\Application
. Dans ce constructeur de classe, il utiliseSymfony\Component\HttpKernel\Kernel::VERSION
pour initialiser son constructeur parent.la source
/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
bin/console --version
Une autre façon est de regarder la source
Symfony\Component\HttpKernel\Kernel
pour savoir oùconst VERSION
est défini. Exemple sur GitHubLocalement, ce serait situé dans
vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
.la source
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:
vous pouvez obtenir de nombreux détails sur le projet en cours. La première section concerne Symfony lui-même et ressemble à ceci:
Je trouve les autres informations en plus du numéro de version très utiles.
Il existe également d'autres sections fournissant des détails sur le noyau (framework), PHP, l'environnement.
la source
Utilisez la commande suivante dans votre terminal / invite de commandes:
Cela vous donnera votre version Symfony.
la source
Si vous souhaitez afficher de manière dynamique votre version Symfony 2 dans les pages, par exemple en pied de page, vous pouvez le faire de cette façon.
Créez un service:
Inscrivez-vous sur service.yml
Et vous pouvez l'appeler n'importe où. Dans Controller, enveloppez-le dans JSON ou dans un exemple de pied de page
Maintenant, chaque fois que vous exécutez la mise à jour de composer pour mettre à jour votre fournisseur, la version de symfony sera également automatiquement mise à jour dans votre modèle. Je sais que c'est exagéré, mais c'est comme ça que je le fais dans mes projets et cela fonctionne.
la source
vous pouvez également vérifier la version de symfony et les versions de tous les autres paquets installés en exécutant
ou
pour obtenir des versions de packages spécifiques comme sonata, etc.
la source
nous pouvons trouver la version de symfony en utilisant le fichier Kernel.php mais le problème est que l'emplacement des changements de Kernal Will d'une version à l'autre (Better Do File Search dans votre répertoire de projet)
dans symfony 3.0: mon_projet \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php
Vérifier à partir du contrôleur / fichier PHP
la source
si vous essayez avec la version symfony
essayez avec
symfony 2 +
symfony 3+
par exemple
la source
Depuis l'intérieur de votre projet Symfony, vous pouvez obtenir la valeur en PHP de cette façon:
la source
si vous êtes dans app_dev, vous pouvez trouver la version de symfony dans le coin inférieur gauche de la page
la source
Pour Symfony 3.4
Vérifiez la constante dans ce fichier vendor / symfony / http-kernel / Kernel.php
OU
la source