2017-03-05 1 views
0

우리 응용 프로그램에서 PHP를 사용하여 (모든 버전의) 패키지가 설치되어 있는지/현재 존재 하는지를 확인하는 가장 깨끗한 방법은 무엇입니까?작곡가/PHP : 작곡가 패키지가 설치되어 있는지 확인하는 방법은 무엇입니까?

기본적으로, 우리의 응용 프로그램 내에서 우리는 다음과 같은 서명이있는 함수를 호출 할 :

bool function hasComposerPackage(string $packageName)

이 기능은 우리가 같은 것을 할 수 있도록 포함 할 것이다 무엇 :

if (hasComposerPackage('phpunit/phpunit')) { 
    echo 'PHPUnit is installed!'; 
} 

이상적으로 이것은 명령 행 exec 호출없이 발생해야하며 불필요한 파일을 자동로드하지 않아야합니다.

+0

http://stackoverflow.com/a/15186162/897075 ?? 죄송합니다. 명령 줄 비트가 두 번째 읽기 전까지 등록되지 않았습니다. 왜 그런지 물을 수 있습니까? –

+0

@ Alex.Barylski이 질문과 무관 한 여러 가지 이유로 명령 줄에 의존하지 않고 응용 프로그램 내에서 발생해야합니다. – mae

+0

죄송합니다 - 늦었습니다 - 빨리 읽고 빨리 대답했습니다 –

답변

0

@ user1132363 composer show과 같은 것을 실행하면 을 확실히 알 수있는 유일한 방법이지만이 경로를 쓰고 싶지 않은 것 같습니다. 왜 당신이 거절하는지 모르겠는데,이 귀하의 문제에 대한 해결책입니다. 다른 신뢰할만한 수단은 없습니다. class_exists을 사용하면 클래스 이름이 패키지에서 변경 될 수 있으므로 신뢰할 수 없습니다.

그렇다면 더 이상 묻지 않는 질문이 있습니다. 어떤 문제가 있습니까? 실제로을 해결하려고합니까? 에서처럼 패키지가 설치되어 있는지 확인해야하는 이유는 무엇입니까?