¿Cómo saber qué versión de Symfony tengo?

4 minutos de lectura

Sé que he descargado un Symfony2 proyecto y comencé pero he actualizado mi proveedor varias veces y quiero saber qué versión de Symfony tengo

Alguna idea ?

  • sonata-project/core-bundle está en la versión 2.3.9 y sonata-project/admin-bundle está en la versión 2.3.7, según el composer show dominio.

    – Alcalde de Plattenbaus

    3 de septiembre de 2018 a las 9:01

avatar de usuario
Diego Agullo

Correr app/console --version (para Symfony3: bin/console --version), debería darte una idea bastante buena. En un proyecto aleatorio mío, el resultado es:

Symfony version 2.2.0-DEV - app/dev/debug

Si no puede acceder a la consola, intente leer symfony/src/Symfony/Component/HttpKernel/Kernel.phpdonde está la versión codificadopor ejemplo:

const VERSION         = '2.2.0';

En caso de que te lo estés preguntando, console crea una instancia de Symfony\Bundle\FrameworkBundle\Console\Application. En este constructor de clase, utiliza Symfony\Component\HttpKernel\Kernel::VERSION para inicializar su constructor principal.

  • ¡o simplemente eche un vistazo a la parte superior izquierda de la barra de desarrollo de Symfony (visible solo en el modo de desarrollo)!

    – zizoujab

    09/08/2013 a las 19:56

  • Muchas gracias, lo encontre /Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php

    – HMR

    23 de septiembre de 2013 a las 10:47

  • para mi es bin/console --version

    – Negro

    20 de abril de 2016 a las 13:53

  • @Black eso es porque así es como lo verificas en Symfony3. La respuesta de OP es para Symfony2

    – iii

    7 sep 2017 a las 15:31

  • Me resulta útil saber que la consola es un archivo php. Entonces, solo escribiendo app/console ... etc. en la línea de comando no hace nada (para mí). Pero php app/console --version ejecuta correctamente el archivo. (¿Tal vez las personas a menudo tienen un intérprete de PHP configurado para el entorno de su shell?)

    – GG2

    7 dic 2018 a las 19:57

avatar de usuario
cézar

Aunque ya hay muchas buenas respuestas, me gustaría agregar una opción que no se ha mencionado. Usando el comando:

php bin/console about

puede obtener muchos detalles sobre el proyecto actual. La primera sección trata sobre Symfony y se ve así:

-------------------- ------------------------------------------- 
 Symfony                                                         
-------------------- ------------------------------------------- 
 Version              4.2.3                                      
 End of maintenance   07/2019                                    
 End of life          01/2020                                    
-------------------- ------------------------------------------- 

Encuentro la otra información además del número de versión muy útil.

También hay otras secciones que brindan detalles sobre el (marco) Kernel, PHP, Environment.

Otra forma es buscar en la fuente de Symfony\Component\HttpKernel\Kernel para donde const VERSION se define. ejemplo en GitHub

Localmente esto estaría ubicado en vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.

avatar de usuario
usuario2815519

Use el siguiente comando en su Terminal/Símbolo del sistema:

php bin/console --version

Esto te dará tu versión de Symfony.

También puede verificar la versión de Symfony y las versiones de todos los demás paquetes instalados ejecutando

composer show

o

composer show | grep sonata

para obtener versiones de paquetes específicos como sonata, etc.

avatar de usuario
cézar

Si quieres mostrar dinámicamente tu versión de Symfony 2 en páginas, por ejemplo en el pie de página, puedes hacerlo de esta manera.

Crear un servicio:

<?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;
}
}

Regístrate en service.yml

 dut.twig.symfony_version_extension:
    class: Project\Bundle\DutBundle\Twig\SymfonyVersionExtension
    tags:
        - { name: twig.extension }
    #arguments: []

Y puedes llamarlo en cualquier lugar. En Controller, envuélvalo en JSON o en el pie de página de ejemplo de páginas

 <p> Built With Symfony {{ symfony_version() }} Version MIT License</p>

Ahora, cada vez que ejecute la actualización del compositor para actualizar su proveedor, la versión de Symfony también se actualizará automáticamente en su plantilla. Sé que esto es excesivo, pero así es como lo hago en mis proyectos y funciona.

podemos encontrar la versión de Symfony usando Kernel.php el archivo, pero el problema es que la ubicación de Kernal cambiará de una versión a otra (es mejor hacer una búsqueda de archivos en su directorio de proyectos)

en Symfony 3.0: my_project\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Kernel.php

Comprobar desde el controlador/archivo PHP

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
echo $symfony_version; // this will return version; **o/p:3.0.4-DEV**

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad