[php] 내가 가지고있는 Symfony 버전을 어떻게 알 수 있습니까?

Symfony2프로젝트를 다운로드 하고 시작했지만 공급 업체를 여러 번 업데이트했으며 어떤 버전의 심포니가 있는지 알고 싶습니다.

어떤 생각?



답변

실행하면 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부모 생성자를 초기화 하는 데 사용 합니다.


답변

또 다른 방법은 정의 된 Symfony\Component\HttpKernel\Kernel위치 에 대한 소스를 보는 것 const VERSION입니다. GitHub의

로컬로이 위치는 vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php.


답변

이미 좋은 답변이 많이 있지만 언급되지 않은 옵션을 추가하고 싶습니다. 명령 사용 :

php bin/console about

현재 프로젝트에 대한 많은 세부 정보를 얻을 수 있습니다. 첫 번째 섹션은 Symfony 자체에 관한 것이며 다음과 같습니다.

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

버전 번호 외에 다른 정보도 매우 유용합니다.

(프레임 워크) 커널, PHP, 환경에 대한 세부 정보를 제공하는 다른 섹션도 있습니다.


답변

터미널 / 명령 프롬프트에서 다음 명령을 사용하십시오.

php bin/console --version

그러면 Symfony 버전이 제공됩니다.


답변

예를 들어 바닥 글과 같이 페이지에 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: []

그리고 어디에서나 전화를 걸 수 있습니다. Controller에서 JSON 또는 페이지 예제 바닥 글로 래핑합니다.

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

이제 컴포저 업데이트를 실행하여 벤더를 업데이트 할 때마다 심포니 버전도 템플릿에서 자동으로 업데이트됩니다. 과잉이지만 이것이 제 프로젝트에서 수행하는 방식이며 작동하고 있습니다.


답변

또한 다음을 실행하여 심포니 버전과 설치된 다른 모든 패키지의 버전을 확인할 수 있습니다.

composer show

또는

composer show | grep sonata

소나타 등과 같은 특정 패키지의 버전을 얻으려면


답변

Kernel.php를 사용하여 심포니 버전을 찾을 수 있습니다. 파일을 있지만 문제는 커널 위치가 버전마다 변경된다는 것입니다 (프로젝트 디렉토리에서 파일 검색을 더 잘 수행).

심포니 3.0 : my_project \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpKernel \ Kernel.php

컨트롤러 / PHP 파일에서 확인

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