2017-05-23 14 views
0

PHP에서 파일에 include이 실패하면보고합니다.PHP : '유효한 클래스'를 사용하는지 확인하십시오.

하지만 성공적으로 GuzzleHttp\Cookie\CookieJar 클래스를 가져올 수 있습니까?

그리고 유효한 클래스인지 어떻게 알 수 있습니까?

namespace GuzzleHttp; 

use GuzzleHttp\Cookie\CookieJar; 
use GuzzleHttp\Promise; 
+0

'use' 문은 클래스 파일을로드하지 않습니다. 'include' 나'require'를 사용하거나 자동로드 (autoload) 기능을 사용하여이 작업을 수행해야합니다. – raina77ow

+0

composer autoloader를 사용하여 쉽게 – Dale

+0

'class_exists()'가 클래스의 자동로드를 트리거합니다. –

답변

0

요즘 대부분의 응용 프로그램은 작곡가의 자동로드 기능을 사용합니다.

if (!class_exists(CookieJar::class)) { 
    throw new Exception('class not found'); 
} 

하지만 class_exists을 아마 더 유용한 동적 물건을 할 때 클래스가 코드를 통해 존재하는 경우

당신은 확인할 수 있습니다.

1

use 문은 NOT에 해당 클래스가 포함되어 있으므로이 문이 성공적인지 여부를 감지하는 것이 불가능할 수 있습니다.

클래스 중 하나를 인스턴스화하려고 시도했지만 가져 오기가 실패하면 오류가 발생합니다.

일반적으로 composer과 같이 오토로더를 사용하지만 직접 작성할 수도 있습니다. 이 페이지에 대한 더 자세한 정보 : What is Autoloading; How do you use spl_autoload, __autoload and spl_autoload_register?