PHP에 클래스가 존재하는지 감지하는 방법은 무엇입니까?
PHP에서는 "class_exists()" 함수를 사용하여 클래스가 존재하는지 확인할 수 있습니다. 이 함수의 기능은 클래스가 정의되었는지 확인하는 것입니다. 해당 매개변수 "$class_name"은 클래스 이름을 감지한다는 의미입니다.
추천 동영상 튜토리얼: "PHP 프로그래밍 입문부터 마스터까지(학습 경로)"
샘플 코드
<?php // 使用前检查类是否存在 if (class_exists('MyClass')) { $myclass = new MyClass(); } ?>
<?php /** * Set my include path here */ $include_path = array( '/include/this/dir', '/include/this/one/too' ); set_include_path( $include_path ); spl_autoload_register(); /** * Assuming I have my own custom exception handler (MyException) let's * try to see if a file exists. */ try { if( ! file_exists( 'myfile.php' ) ) { throw new MyException('Doh!'); } include( 'myfile.php' ); } catch( MyException $e ) { echo $e->getMessage(); } /** * The above code either includes myfile.php or throws the new MyException * as expected. No problem right? The same should be true of class_exists(), * right? So then... */ $classname = 'NonExistentClass'; try { if( ! class_exists( $classname ) ) { throw new MyException('Double Doh!'); } $var = new $classname(); } catch( MyException $e ) { echo $e->getMessage(); } /** * Should throw a new instance of MyException. But instead I get an * uncaught LogicException blah blah blah for the default Exception * class AND MyException. I only catch MyException so we've got on * uncaught resulting in the dreaded LogicException error. */ ?>
추천 튜토리얼: "PHP"
위 내용은 PHP에 클래스가 존재하는지 감지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!