Câu trả lời:
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, console
tạ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ó.
/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
bin/console --version
Một cách khác là xem xét nguồn Symfony\Component\HttpKernel\Kernel
cho 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
.
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.
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.
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.
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.
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**
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
Đố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
composer show
lệnh.