2012-11-26 1 views
1

가능한 중복 : 나는 (현재 사용할 수없는) 다른 사람이 설정 서버 함께 일하고
Finding the PHP File (at run time) where a Class was Defined사전로드 된 PHP 클래스 파일 위치

. apache (또는 다른 것)가 미리로드되어있는 클래스의 소스를 찾아서 소스 코드를 올바른 버전의 클래스로 업데이트 할 수 있도록 노력하고 있습니다. 실행 :

<?php echo class_exists('className')? "yes": "no"; ?> 

(전체 PHP 파일로) 예를 인쇄합니다. 그 수업이 어떤 수업에서 나오는지 어떻게 알 수 있습니까? 나는 서버를 감싸고 긴 목록의 파일을 가질 수 있었지만 오히려 추측과 확인을 많이하지 않고 변경해야하는 파일을 알고 싶습니다. 해당 클래스 이름의 소스 코드 파일을 알려주는 함수가 있습니까?

감사합니다.

답변

3
$r = new ReflectionClass('YourClassName'); 
echo $r->getFileName(); 

이 문서 당 http://php.net/manual/en/reflectionclass.getfilename.php

에서 반사 클래스에 대한 설명서 페이지를 참조하십시오 실제 파일을 얻을 수 있습니다 PHP 코어 (또는 확장)로 정의 됨 c 메서드를 사용하여 FALSE을 반환하십시오.

if ($r->getFileName() === FALSE) {echo 'Defined by PHP';}