2013-05-30 41 views

Trả lời

139

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 vào giao diện điều khiển, hãy thử đọc symfony/src/Symfony/Component/HttpKernel/Kernel.php, nơi mà các phiên bản là hardcoded, ví dụ:

const VERSION   = '2.2.0'; 

Chỉ trong trường hợp bạn đang tự hỏi, console tạo một phiên bản của Symfony\Bundle\FrameworkBundle\Console\Application. Trong hàm tạo lớp này, nó sử dụng Symfony\Component\HttpKernel\Kernel::VERSION để khởi tạo hàm khởi tạo gốc của nó.

+3

hoặc chỉ có một cái nhìn ở đầu còn lại trong thanh symfony dev (chỉ hiển thị trong dev mod)! – zizoujab

+0

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

+0

@HMR vừa 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! :) –

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 cùng bên phải của màn hình;) –

12

Một cách khác là nhìn vào các nguồn cho Symfony\Component\HttpKernel\Kernel cho nơi const VERSION được định nghĩa. Ví dụ về GitHub

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

1

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

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

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

tạo ra 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; 
} 
} 

ký trong service.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ó là anywhere.In Controller, quấn nó trong JSON, hoặc trong các trang ví dụ chân

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

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

3

chúng ta có thể tìm thấy phiên bản symfony sử dụng Kernel.php tập tin nhưng vấn đề là các Vị trí của Kernal Will thay đổi từ phiên bản cho phiên bản (Better Do File Search trong bạn Danh mục dự án)

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

Kiểm tra từ Controller/PHP file

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

nếu bạn cố gắng với phiên bản symfony

hãy thử với

symfony 2 +

cmd> ứng dụng php/console --version

symfony 3+

cmd> php bin/console --version

ví dụ

D: project> php bin/console --version

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

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

composer show 

hoặc

composer show | grep sonata 

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

0

Đối Symfony 3.4

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

const VERSION = '3.4.3'; 

HOẶC

composer show | grep symfony/http-kernel 
Các vấn đề liên quan