>  기사  >  백엔드 개발  >  PHP에 함수, 클래스, 클래스 메소드가 존재하는지 확인하는 방법

PHP에 함수, 클래스, 클래스 메소드가 존재하는지 확인하는 방법

怪我咯
怪我咯원래의
2017-06-28 13:35:299921검색

PHP 개발을 할 때 서버의 관련 구성을 수정할 수 없거나 서버의 특정 기능이 활성화되어 있는지 알 수 없는 상황에 직면한 경우 일부 특별한 함수를 직접 사용하면 프로그램에서 시스템 오류와 같은 오류를 보고하게 됩니다. Curl_init와 같은 함수. 서버가 컬 관련 서비스를 활성화하지 않는 경우 컬 계열 함수를 직접 사용하면 정의되지 않은 함수 컬_init()에 대한 호출...과 같은 오류가 보고됩니다.

그러면 이런 일이 발생하면 어떻게 해야 할까요? 많은 일을 하는 데 한 가지 방법만 있는 것이 아닙니다. 일부 방법이 작동하지 않으면 다른 방법을 사용할 수도 있습니다. 여기에는 특정 메소드가 있는지 판단하는 문제가 포함되어야 합니다. 메소드가 존재하면 이 메소드를 사용하고, 메소드가 존재하지 않으면 다른 메소드를 사용하십시오.

클래스에 함수, 클래스, 메소드가 존재하는지 확인하는 방법을 요약하면 다음과 같습니다.

(1) PHP는 시스템 함수 또는 직접 작성한 함수가 존재하는지 확인합니다.

bool function_exists ( string $ function_name ) 결정 함수가 정의되었는지 여부, 예:

if(function_exists('curl_init')){
	curl_init();
}else{
	echo 'not function curl_init';
}

(2) PHP는 클래스가 존재하는지 확인합니다.

bool class_exists ( string $class_name [, bool $autoload = true ] ) 클래스가 존재하는지 확인합니다. 그렇지 않으면 false를 반환해야 합니다. 예:

if(class_exists('MySQL')){
    $myclass=new MySQL();
}

(3) PHP는 클래스의 메서드가 정의되었는지 확인합니다.

bool method_exists(혼합 $object, 문자열 $method_name) 확인 클래스의 메소드가 존재하는지 여부(예:

$directory=new Directory;
if(!method_exists($directory,'read')){
	echo '未定义read方法!';
}
)

위 내용은 PHP에 함수, 클래스, 클래스 메소드가 존재하는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.