is_subclass_of:
の役割
コードをコピー コードは次のとおりです:
bool is_subclass_of ( object object, string class_name )
object object が属するクラスがクラス class_name のサブクラスの場合は TRUE が返され、それ以外の場合は FALSE が返されます。戻ってきた。
注: PHP 5.0.3 以降、文字列を使用してオブジェクト パラメーター (クラス名) を指定することもできます。
使用例:
コードをコピー コードは次のとおりです:
#$classNameが$typeのサブクラスかどうかを判断する
is_subclass_of($className,$type);
php5.3.7バージョン以前ではインターフェースにバグが発生します
バグ: https://bugs.php.net/bug.php?id=53727
コードをコピー コードは次のとおりです:
interface MyInterface {}
class ParentClassimplements MyInterface { }
class ChildClass extends ParentClass { }
# true
is_subclass_of('ChildClass', 'MyInterface');
# false
is_subclass_of('ParentClass', 'MyInterface');
解決策:
コードをコピーします コードは次のとおりです:
function isSubclassOf($className, $type){
// $className が属するクラスが $type のサブクラスの場合、TRUE を返します
if ( is_subclass_of($className, $ Type) {re Return True;
}
// PHP バージョン & gt; がインターフェースのバグに存在しない場合、$ className は $ Type のサブクラスではありません
( Version_compare, '5.3.7', ' > ;
}
// リフレクション オブジェクトを作成します
$r = new ReflectionClass($className)
// クラスが $type インターフェイスに属するかどうかをリフレクション オブジェクトを通じて判断します
return $r->implementsInterface($type);
}
http://www.bkjia.com/PHPjc/778999.html
www.bkjia.comtrue
http://www.bkjia.com/PHPjc/778999.html技術記事 is_subclass_of の関数: 次のようにコードをコピーします: bool is_subclass_of (object object, string class_name) object object が属するクラスがクラス class_name のサブクラスの場合、戻り値...