#PHP でクラスが存在するかどうかを検出するメソッドは何ですか?
PHP では、クラスが存在するかどうかを確認するために "class_exists()" 関数を使用できます。この関数の機能は、クラスが定義されているかどうかを確認することです。その使用法は "class_exists( $class_name)" であり、そのパラメータ "$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 中国語 Web サイトの他の関連記事を参照してください。