Bagaimana cara mengetahui versi Symfony yang saya miliki?

128

Saya tahu bahwa saya telah mengunduh sebuah Symfony2proyek dan memulainya tetapi saya telah memperbarui vendor saya beberapa kali dan saya ingin mengetahui versi symfony yang saya miliki

Ada ide ?

zizoujab
sumber
sonata-project / core-bundle ada di versi 2.3.9 dan sonata-project / admin-bundle ada di versi 2.3.7, sesuai dengan composer showperintah.
Patrick

Jawaban:

220

Jalankan app/console --version(untuk Symfony3 :) bin/console --version, itu akan memberi Anda ide yang cukup bagus. Pada proyek acak saya, hasilnya adalah:

Symfony version 2.2.0-DEV - app/dev/debug

Jika Anda tidak dapat mengakses konsol, coba baca symfony/src/Symfony/Component/HttpKernel/Kernel.php, dengan versi yang di- hardcode , misalnya:

const VERSION         = '2.2.0';

Untuk berjaga-jaga jika Anda bertanya-tanya, consolebuat instance Symfony\Bundle\FrameworkBundle\Console\Application. Dalam konstruktor kelas ini, ia menggunakan Symfony\Component\HttpKernel\Kernel::VERSIONuntuk menginisialisasi konstruktor induknya.

Diego Agulló
sumber
4
atau lihat di kiri atas pada bilah dev symfony (hanya terlihat di mod dev)!
zizoujab
Ini cukup tinggi di daftar google "how to detect symfony version" tetapi saya hanya memiliki akses FTP ke server. File apa yang menunjukkan versi Symfony yang digunakan?
HMR
@HMR baru saja meningkatkan jawabannya sehingga mencakup kasus Anda. Semoga bermanfaat! :)
Diego Agulló
1
Terima kasih banyak, menemukannya/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR
7
bagi saya itubin/console --version
Hitam
24

Cara lain adalah dengan melihat sumber di Symfony\Component\HttpKernel\Kernelmana const VERSIONdidefinisikan. Contoh di GitHub

Secara lokal ini akan berlokasi di vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.

Adam Elsodaney
sumber
20

Meskipun sudah ada banyak jawaban bagus, saya ingin menambahkan opsi yang belum disebutkan. Menggunakan perintah:

php bin/console about

Anda bisa mendapatkan banyak detail tentang proyek saat ini. Bagian pertama adalah tentang Symfony itu sendiri dan terlihat seperti ini:

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

Saya menemukan informasi lain selain nomor versi sangat berguna.

Ada juga bagian lain yang memberikan detail tentang (kerangka kerja) Kernel, PHP, Lingkungan.

cezar
sumber
11

Gunakan perintah berikut di Terminal / Command Prompt Anda:

php bin/console --version

Ini akan memberi Anda Versi Symfony Anda.

pengguna2815519
sumber
7

Jika Anda ingin menampilkan versi Symfony 2 Anda secara dinamis di halaman, misalnya di footer, Anda dapat melakukannya dengan cara ini.

Buat layanan:

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

Daftar di service.yml

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

Dan Anda bisa menyebutnya di mana saja. Di Controller, bungkus dalam JSON, atau di footer contoh halaman

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

Sekarang setiap kali Anda menjalankan pembaruan komposer untuk memperbarui vendor Anda, versi symfony juga akan secara otomatis memperbarui di template Anda. Saya tahu ini berlebihan tetapi ini adalah cara saya melakukannya dalam proyek saya dan berhasil.

cezar
sumber
5

Anda juga dapat memeriksa versi symfony dan versi dari semua paket terinstal lainnya dengan menjalankan

composer show

atau

composer show | grep sonata

untuk mendapatkan versi paket tertentu seperti sonata dll.

Pavel Alazankin
sumber
4

kita dapat menemukan versi symfony menggunakan file Kernel.php tetapi masalahnya adalah Lokasi Kernal Akan berubah dari versi ke versi (Lebih baik Lakukan Pencarian File di Direktori Proyek Anda)

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

Periksa dari Controller / File PHP

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

jika Anda mencoba dengan versi symfony

silakan coba dengan

symfony 2 +

cmd> php app / console --version

symfony 3+

cmd> php bin / console --version

sebagai contoh

D: project> php bin / console --version

Symfony 3.2.8 (kernel: app, env: dev, debug: true)
afeef
sumber
2

Dari dalam proyek Symfony Anda, Anda bisa mendapatkan nilai dalam PHP dengan cara ini:

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;
redreinard
sumber
1

jika Anda berada di app_dev, Anda dapat menemukan versi symfony di pojok kiri bawah halaman

jef
sumber
1
Anda mungkin perlu membuka bilah alat debug dengan mengklik logo Symfony di sudut kanan bawah layar Anda;)
Nic Wortel
1

Untuk Symfony 3.4

Periksa konstanta dalam file ini vendor / symfony / http-kernel / Kernel.php

const VERSION = '3.4.3';

ATAU

composer show | grep symfony/http-kernel
Yogesh Yadav
sumber