จะทราบได้อย่างไรว่าฉันมี Symfony เวอร์ชันใด


128

ฉันรู้ว่าฉันได้ดาวน์โหลดSymfony2โครงการและเริ่มต้นด้วย แต่ฉันได้อัปเดตผู้ขายของฉันหลายครั้งและฉันต้องการทราบว่าฉันมี symfony เวอร์ชันใด

ความคิดใด ๆ ?


sonata-project / core-bundle อยู่ที่เวอร์ชัน 2.3.9 และ sonata-project / admin-bundle อยู่ที่เวอร์ชัน 2.3.7 ตามcomposer showคำสั่ง
Patrick

คำตอบ:


220

เรียกใช้app/console --version(สำหรับ Symfony3 :) bin/console --versionควรให้ความคิดที่ดี ในโครงการสุ่มของฉันผลลัพธ์คือ:

Symfony version 2.2.0-DEV - app/dev/debug

หากคุณไม่สามารถเข้าถึงคอนโซลได้ให้ลองอ่านsymfony/src/Symfony/Component/HttpKernel/Kernel.phpซึ่งเป็นเวอร์ชันฮาร์ดโค้ดตัวอย่างเช่น

const VERSION         = '2.2.0';

ในกรณีที่คุณสงสัยให้consoleสร้างตัวอย่างของSymfony\Bundle\FrameworkBundle\Console\Applicationไฟล์. ในตัวสร้างคลาสนี้ใช้Symfony\Component\HttpKernel\Kernel::VERSIONเพื่อเริ่มต้นคอนสตรัคเตอร์พาเรนต์


4
หรือเพียงแค่ดูที่ด้านซ้ายบนในแถบ dev symfony (มองเห็นได้เฉพาะใน dev mod)!
zizoujab

นี่เป็นสิ่งที่ค่อนข้างสูงในรายการ "วิธีตรวจจับเวอร์ชัน symfony" ของ Google แต่ฉันมีเพียงการเข้าถึง FTP ไปยังเซิร์ฟเวอร์ ไฟล์ใดที่ระบุว่าใช้ Symfony เวอร์ชันใด
HMR

@HMR เพิ่งปรับปรุงคำตอบเพื่อให้ครอบคลุมกรณีของคุณ หวังว่าจะเป็นประโยชน์! :)
Diego Agulló

1
ขอบคุณมากพบแล้ว/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php
HMR

7
สำหรับฉันแล้วbin/console --version
Black

24

อีกวิธีหนึ่งคือการดูแหล่งที่มาSymfony\Component\HttpKernel\Kernelสำหรับตำแหน่งที่const VERSIONกำหนด ตัวอย่างบนGitHub

สิ่งนี้จะอยู่ในvendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.phpพื้นที่


20

แม้ว่าจะมีคำตอบที่ดีมากมายอยู่แล้ว แต่ฉันก็อยากจะเพิ่มตัวเลือกที่ยังไม่ได้กล่าวถึง ใช้คำสั่ง:

php bin/console about

คุณสามารถรับรายละเอียดมากมายเกี่ยวกับโครงการปัจจุบัน ส่วนแรกเกี่ยวกับ Symfony เองและมีลักษณะดังนี้:

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

ฉันพบว่าข้อมูลอื่น ๆ นอกเหนือจากหมายเลขเวอร์ชันมีประโยชน์มาก

นอกจากนี้ยังมีส่วนอื่น ๆ ที่ให้รายละเอียดเกี่ยวกับ (framework) Kernel, PHP, Environment


11

ใช้คำสั่งต่อไปนี้ใน Terminal / Command Prompt ของคุณ:

php bin/console --version

สิ่งนี้จะให้เวอร์ชัน Symfony ของคุณ


7

หากคุณต้องการแสดงเวอร์ชัน Symfony 2 ของคุณแบบไดนามิกในหน้าต่างๆเช่นในส่วนท้ายคุณสามารถทำได้ด้วยวิธีนี้

สร้างบริการ:

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

ลงทะเบียนใน service.yml

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

และคุณสามารถโทรหาได้ทุกที่ ในตัวควบคุมให้รวมไว้ใน JSON หรือในส่วนท้ายของหน้า

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

ทุกครั้งที่คุณเรียกใช้การอัปเดตผู้แต่งเพื่ออัปเดตผู้ขายของคุณเวอร์ชัน symfony จะอัปเดตในเทมเพลตของคุณโดยอัตโนมัติฉันรู้ว่านี่เป็นการใช้งานมากเกินไป แต่นี่เป็นวิธีที่ฉันทำในโครงการของฉันและมันใช้งานได้


5

นอกจากนี้คุณสามารถตรวจสอบเวอร์ชันของ symfony และเวอร์ชันของแพ็คเกจที่ติดตั้งอื่น ๆ ทั้งหมดได้โดยการเรียกใช้

composer show

หรือ

composer show | grep sonata

เพื่อรับเวอร์ชันของแพ็คเกจเฉพาะเช่นโซนาต้าเป็นต้น


4

เราสามารถค้นหาเวอร์ชัน symfony โดยใช้Kernel.phpไฟล์แต่ปัญหาคือตำแหน่งของ Kernal Will เปลี่ยนจากเวอร์ชันเป็นเวอร์ชัน (Better Do File Search ใน Project Directory ของคุณ)

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

ตรวจสอบจากไฟล์ Controller / PHP

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

3

หากคุณลองใช้เวอร์ชัน symfony

โปรดลองด้วย

สัญลักษณ์ 2 +

cmd> แอป php / คอนโซล - เวอร์ชัน

symfony 3+

cmd> php bin / console --version

ตัวอย่างเช่น

D: project> php bin / console --version

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

2

จากภายในโครงการ Symfony ของคุณคุณสามารถรับค่าใน PHP ด้วยวิธีนี้:

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

1

หากคุณอยู่ใน app_dev คุณสามารถค้นหาเวอร์ชัน symfony ได้ที่มุมล่างซ้ายของหน้า


1
คุณอาจต้องเปิดแถบเครื่องมือดีบักโดยคลิกที่โลโก้ Symfony ที่มุมล่างขวาของหน้าจอ)
Nic Wortel

1

สำหรับ Symfony 3.4.2

ตรวจสอบค่าคงที่ในไฟล์นี้ / symfony / http-kernel / Kernel.php

const VERSION = '3.4.3';

หรือ

composer show | grep symfony/http-kernel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.