Comment savoir quelle version de Symfony j'ai?
Je sais que j'ai téléchargé un projet Symfony2
et que j'ai commencé avec mais j'ai mis à jour mon fournisseur plusieurs fois et je veux savoir quelle version de symfony j'ai
Une idée ?
11 réponses
Exécuter app/console --version
(pour Symfony3: bin/console --version
), il devrait vous donner une assez bonne idée. Sur un de mes projets aléatoires, la sortie 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 demandez, 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 façon est de regarder la source pour Symfony\Component\HttpKernel\Kernel
pour 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 voulez afficher dynamicallly votre version Symfony 2 dans les pages, exemple en 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 en service.yml
dut.twig.symfony_version_extension:
class: Project\Bundle\DutBundle\Twig\SymfonyVersionExtension
tags:
- { name: twig.extension }
#arguments: []
Et vous pouvez l'appeler anywhere.In contrôleur, enveloppez-le dans JSON, ou dans pages exemple footer
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
Maintenant, chaque fois que vous exécutez composer update pour mettre à jour votre fournisseur, la version 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 ça marche
Nous pouvons trouver la version symfony en utilisant le noyau .php Fichier mais le problème est l'emplacement de Kernal va changer de version en version (mieux faire la recherche de fichiers dans votre répertoire de projet)
Dans symfony 3.0 : my_project\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Noyau.php
Vérifier À partir du contrôleur / fichier PHP
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
echo $symfony_version; // this will return version; **o/p:3.0.4-DEV**
Si vous essayez avec la version symfony
Veuillez 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)
Vous pouvez également vérifier la version de symfony et les versions de tous les autres paquets installés en exécutant
composer show
Ou
composer show | grep sonata
Pour obtenir des versions de paquets spécifiques comme sonata etc.
Utilisez la commande suivante dans votre terminal / invite de commande:
php bin/console --version
Cela vous donnera votre version Symfony.
Si vous êtes dans app_dev, vous pouvez trouver la version symfony dans le coin inférieur gauche de la page
De l'intérieur de votre projet Symfony, vous pouvez obtenir la valeur en PHP de cette façon:
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
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
Sonata-project/core-bundle est à la version 2.3.9 et sonata-project/admin-bundle est à la version 2.3.7, selon le composer show
commande.