Risposte:
Esegui app/console --version
(per Symfony3 :) bin/console --version
, dovrebbe darti un'idea abbastanza buona. Su un mio progetto casuale, l'output è:
Symfony version 2.2.0-DEV - app/dev/debug
Se non riesci ad accedere alla console, prova a leggere symfony/src/Symfony/Component/HttpKernel/Kernel.php
, dove la versione è hardcoded , ad esempio:
const VERSION = '2.2.0';
Nel caso ve lo stiate chiedendo, console
crea un'istanza di Symfony\Bundle\FrameworkBundle\Console\Application
. In questo costruttore di classe, utilizza Symfony\Component\HttpKernel\Kernel::VERSION
per inizializzare il suo costruttore padre.
/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
bin/console --version
Un altro modo è guardare l'origine Symfony\Component\HttpKernel\Kernel
per dove const VERSION
è definito. Esempio su GitHub
A livello locale questo sarebbe situato in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
.
Sebbene ci siano già molte buone risposte, vorrei aggiungere un'opzione che non è stata menzionata. Utilizzando il comando:
php bin/console about
puoi ottenere molti dettagli sul progetto corrente. La prima sezione riguarda Symfony stesso e si presenta così:
-------------------- -------------------------------------------
Symfony
-------------------- -------------------------------------------
Version 4.2.3
End of maintenance 07/2019
End of life 01/2020
-------------------- -------------------------------------------
Trovo molto utili le altre informazioni oltre al numero di versione.
Ci sono anche altre sezioni che forniscono dettagli sul kernel (framework), PHP, Ambiente.
Usa il seguente comando nel tuo terminale / prompt dei comandi:
php bin/console --version
Questo ti darà la tua versione di Symfony.
Se vuoi visualizzare in modo dinamico la tua versione di Symfony 2 nelle pagine, ad esempio nel piè di pagina, puoi farlo in questo modo.
Crea un servizio:
<?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;
}
}
Registrati in service.yml
dut.twig.symfony_version_extension:
class: Project\Bundle\DutBundle\Twig\SymfonyVersionExtension
tags:
- { name: twig.extension }
#arguments: []
E puoi chiamarlo ovunque. In Controller, racchiudilo in JSON o nel piè di pagina di esempio delle pagine
<p> Built With Symfony {{ symfony_version() }} Version MIT License</p>
Ora ogni volta che esegui composer update per aggiornare il tuo fornitore, anche la versione di symfony si aggiornerà automaticamente nel tuo template. So che è eccessivo ma è così che lo faccio nei miei progetti e funziona.
inoltre puoi controllare la versione di symfony e le versioni di tutti gli altri pacchetti installati eseguendo
composer show
o
composer show | grep sonata
per ottenere versioni di pacchetti specifici come sonata ecc.
possiamo trovare la versione di symfony usando il file Kernel.php ma il problema è che la posizione di Kernal Will cambia da versione a versione (è meglio fare ricerca di file nella directory del progetto)
in symfony 3.0: mio_progetto \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php
Controlla dal controller / file PHP
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
echo $symfony_version; // this will return version; **o/p:3.0.4-DEV**
Dall'interno del tuo progetto Symfony, puoi ottenere il valore in PHP in questo modo:
$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
se sei in app_dev, puoi trovare la versione di symfony nell'angolo in basso a sinistra della pagina
Per Symfony 3.4
Controlla la costante in questo file vendor / symfony / http-kernel / Kernel.php
const VERSION = '3.4.3';
O
composer show | grep symfony/http-kernel
composer show
comando.