Ich weiß, dass ich ein Symfony2
-Projekt heruntergeladen und damit angefangen habe, aber ich habe meinen Hersteller mehrmals aktualisiert und möchte wissen, welche Version von Symfony ich habe
Irgendeine Idee ?
Führen Sie app/console --version
(für Symfony3: bin/console --version
) aus, es sollte Ihnen eine ziemlich gute Idee geben. Bei einem zufälligen Projekt von mir lautet die Ausgabe:
Symfony version 2.2.0-DEV - app/dev/debug
Wenn Sie nicht auf die Konsole zugreifen können, lesen Sie symfony/src/Symfony/Component/HttpKernel/Kernel.php
, wobei die Version hardcoded lautet:
const VERSION = '2.2.0';
Für den Fall, dass Sie sich fragen, erstellt console
eine Instanz von Symfony\Bundle\FrameworkBundle\Console\Application
. In diesem Klassenkonstruktor wird Symfony\Component\HttpKernel\Kernel::VERSION
verwendet, um den übergeordneten Konstruktor zu initialisieren.
Eine andere Möglichkeit besteht darin, die Quelle für Symfony\Component\HttpKernel\Kernel
zu suchen, für die const VERSION
definiert ist. Beispiel auf GitHub
Lokal wäre dies in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
.
Wenn Sie Ihre Symfony 2-Version dynamisch in Seiten anzeigen möchten, beispielsweise in der Fußzeile, können Sie dies auf diese Weise tun.
erstellen Sie einen Dienst
<?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;
}
}
Registrieren Sie sich in service.yml
dut.twig.symfony_version_extension:
class: Project\Bundle\DutBundle\Twig\SymfonyVersionExtension
tags:
- { name: twig.extension }
#arguments: []
Und Sie können es überall aufrufen. Im Controller können Sie es in JSON oder in die Fußzeile eines Beispiels einfügen
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
Jedes Mal, wenn Sie ein Composer-Update ausführen, um Ihren Hersteller zu aktualisieren, wird die Symfony-Version auch automatisch in Ihrer Vorlage aktualisiert
Verwenden Sie den folgenden Befehl in Ihrer Terminal-/Eingabeaufforderung:
php bin/console --version
Dadurch erhalten Sie Ihre Symfony-Version.
sie können auch die Version von symfony und die Versionen aller anderen installierten Pakete durch Ausführen überprüfen
composer show
oder
composer show | grep sonata
um Versionen spezifischer Pakete wie Sonaten usw. zu erhalten.
wir können die Symfony-Version mithilfe der Datei Kernel.php finden. Das Problem ist jedoch, dass sich der Speicherort von Kernal Will von Version zu Version ändert.
in Symfony 3.0: Mein_Projekt\Hersteller\Symfony\Symfony\src\Symfony\Component\HttpKernel\Kernel.php
Vom Controller prüfen/PHP Datei
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
echo $symfony_version; // this will return version; **o/p:3.0.4-DEV**
Obwohl es bereits viele gute Antworten gibt, möchte ich eine Option hinzufügen, die nicht erwähnt wurde. Verwenden Sie den Befehl:
php bin/console about
sie können viele Details über das aktuelle Projekt erhalten. Der erste Abschnitt befasst sich mit Symfony selbst und sieht folgendermaßen aus:
-------------------- -------------------------------------------
Symfony
-------------------- -------------------------------------------
Version 4.2.3
End of maintenance 07/2019
End of life 01/2020
-------------------- -------------------------------------------
Ich finde die anderen Informationen neben der Versionsnummer sehr nützlich.
Es gibt auch andere Abschnitte, die Details zum (Framework) Kernel, PHP und Umgebung enthalten.
wenn du versuchst mit version symfony
bitte versuchen Sie es mit
symfony 2 +
cmd> php app/console - version
symfony 3+
cmd> php bin/console --version
zum Beispiel
D: Projekt> PHP Bin/Console - Version
Symfony 3.2.8 (kernel: app, env: dev, debug: true)
wenn Sie sich in app_dev befinden, finden Sie die Symfony-Version unten links auf der Seite
In Ihrem Symfony-Projekt können Sie den Wert in PHP folgendermaßen abrufen:
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
sonata-project/core-bundle ist in Version 2.3.9 und sonata-project/admin-bundle in Version 2.3.7 verfügbar, entsprechend dem Befehl composer show
.
Für Symfony 3.4
Überprüfen Sie die Konstante in dieser Datei hersteller/symfony/http-kernel/Kernel.php
const VERSION = '3.4.3';
ODER
composer show | grep symfony/http-kernel