Làm sao để biết phiên bản Symfony nào tôi có?


127

Tôi biết rằng tôi đã tải xuống một Symfony2dự án và bắt đầu với nhưng tôi đã cập nhật nhà cung cấp của mình nhiều lần và tôi muốn biết phiên bản symfony nào tôi có

Bất kỳ ý tưởng ?


Lệnh sonata-project / core-bundle ở phiên bản 2.3.9 và sonata-project / admin-bundle ở phiên bản 2.3.7, theo composer showlệnh.
Patrick

Câu trả lời:


219

Chạy app/console --version(đối với Symfony3 :) bin/console --version, nó sẽ cung cấp cho bạn một ý tưởng khá hay. Trên một dự án ngẫu nhiên của tôi, đầu ra là:

Symfony version 2.2.0-DEV - app/dev/debug

Nếu bạn không thể truy cập bảng điều khiển, hãy thử đọc symfony/src/Symfony/Component/HttpKernel/Kernel.php, ví dụ phiên bản được mã hóa cứng :

const VERSION         = '2.2.0';

Chỉ trong trường hợp bạn đang tự hỏi, consoletạo ra một ví dụ Symfony\Bundle\FrameworkBundle\Console\Application. Trong lớp xây dựng này, nó sử dụng Symfony\Component\HttpKernel\Kernel::VERSIONđể khởi tạo hàm tạo mẹ của nó.


3
hoặc chỉ cần nhìn ở trên cùng bên trái trong thanh dev symfony (chỉ hiển thị trong dev mod)!
zizoujab

Điều này khá cao trên danh sách "cách phát hiện phiên bản symfony" của google nhưng tôi chỉ có quyền truy cập FTP vào máy chủ. Tập tin nào cho biết phiên bản nào của Symfony đang được sử dụng?
HMR

@HMR chỉ cải thiện câu trả lời để nó bao gồm trường hợp của bạn. Hi vọng bạn tìm được thứ hữu dụng! :)
Diego Agulló

1
Cảm ơn bạn rất nhiều, đã tìm thấy nó/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR

7
đối với tôi đó làbin/console --version
Đen

24

Một cách khác là xem xét nguồn Symfony\Component\HttpKernel\Kernelcho nơi const VERSIONđược xác định. Ví dụ về GitHub

Tại địa phương này sẽ được đặt tại vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.


20

Mặc dù đã có nhiều câu trả lời hay nhưng tôi muốn thêm một tùy chọn chưa được đề cập. Sử dụng lệnh:

php bin/console about

bạn có thể nhận được nhiều chi tiết về dự án hiện tại. Phần đầu tiên là về bản thân Symfony và trông như thế này:

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

Tôi thấy các thông tin khác ngoài số phiên bản rất hữu ích.

Ngoài ra còn có các phần khác cung cấp chi tiết về (kernel) Kernel, PHP, Môi trường.


11

Sử dụng lệnh sau trong Terminal / Command Prompt:

php bin/console --version

Điều này sẽ cung cấp cho bạn Phiên bản Symfony của bạn.


7

Nếu bạn muốn hiển thị một cách linh hoạt phiên bản Symfony 2 của mình trong các trang, ví dụ như ở chân trang, bạn có thể làm theo cách này.

Tạo một dịch vụ:

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

Đăng ký dịch vụ.yml

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

Và bạn có thể gọi nó ở bất cứ đâu. Trong Trình điều khiển, bọc nó trong JSON hoặc ở chân trang ví dụ

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

Bây giờ mỗi khi bạn chạy cập nhật trình soạn thảo để cập nhật nhà cung cấp, phiên bản symfony cũng sẽ tự động cập nhật trong mẫu của bạn. Tôi biết điều này là quá mức nhưng đây là cách tôi thực hiện trong các dự án của mình và nó đang hoạt động.


5

bạn cũng có thể kiểm tra phiên bản symfony và phiên bản của tất cả các gói được cài đặt khác bằng cách chạy

composer show

hoặc là

composer show | grep sonata

để có được phiên bản của các gói cụ thể như sonata, v.v.


4

chúng ta có thể tìm thấy phiên bản symfony bằng tệp Kernel.php nhưng vấn đề là Vị trí của Kernal Will thay đổi từ phiên bản này sang phiên bản khác (Tìm kiếm tệp tốt hơn trong Thư mục dự án của bạn)

trong symfony 3.0: my_project \ eller \ symfony \ symfony \ src \ Symfony \ Component \ httpKernel \ Kernel.php

Kiểm tra từ tập tin điều khiển / PHP

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

3

nếu bạn thử với phiên bản symfony

vui lòng thử với

giao hưởng 2 +

cmd> Ứng dụng / bảng điều khiển php - đảo ngược

symfony 3+

cmd> php bin / giao diện điều khiển

ví dụ

D: dự án> php bin / console --version

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

2

Từ bên trong dự án Symfony của bạn, bạn có thể nhận được giá trị trong PHP theo cách này:

$symfony_version = \Symfony\Component\HttpKernel\Kernel::VERSION;

1

nếu bạn đang ở trong app_dev, bạn có thể tìm thấy phiên bản symfony ở góc dưới bên trái của trang


1
Bạn có thể cần phải mở thanh công cụ gỡ lỗi bằng cách nhấp vào biểu tượng Symfony ở góc dưới bên phải màn hình của bạn;)
Nic Wortel

1

Đối với Symfony 3,4

Kiểm tra hằng số trong nhà cung cấp tệp này / symfony / http-kernel / Kernel.php

const VERSION = '3.4.3';

HOẶC LÀ

composer show | grep symfony/http-kernel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.