はじめに: このクラスの関数を使用すると、クラスとオブジェクト インスタンスに関する情報を取得できます。オブジェクトが属するクラスの名前と、そのメンバーのプロパティおよびメソッドを取得できます。これらの関数を使用すると、オブジェクト クラスのすべてのメンバーだけでなく、その起源 (たとえば、オブジェクト クラスがどのクラスの拡張であるか) も把握できます。
class_exists — クラスが定義されているかどうかを確認します
bool class_exists ( string $class_name [, bool $autoload ] )
この関数は、class_name が指すクラスが既に定義されている場合は TRUE を返し、それ以外の場合は FALSE を返します。
class_exists() はデフォルトで __autoload を呼び出そうとします。class_exists() が __autoload を呼び出したくない場合は、autoload パラメーターを FALSE に設定できます。
get_class_methods — クラスのメソッド名で構成される配列を返します
array get_class_methods (mixed $class_name )
PHP 4.0.6 以降では、class_name の代わりにオブジェクト自体を指定できます。つまり、次のようになります。
$class_methods = get_class_methods('myclass');
// または
$class_methods = get_class_methods(new myclass()); PHP 5 以降、この関数はメソッドの名前を返します。が定義されています (大文字と小文字が区別されます)。 PHP 4 では常に小文字を返します。
get_class_vars — クラスのデフォルトのプロパティで構成される配列を返します
array get_class_vars ( string $class_name )
クラスのデフォルトのパブリック プロパティで構成される連想配列を返します。配列は varname => ; value の形式で存在します。
get_class — オブジェクトのクラス名を返します
string get_class ([ object $obj ] )
オブジェクト インスタンス obj が属するクラスの名前を返します。 obj がオブジェクトでない場合は FALSE を返します。
get_declared_classes — 定義されたクラスの名前の配列を返します
array get_declared_classes ( void )
get_declared_interfaces — 宣言されたすべてのインターフェイスを含む配列を返します
配列 get_declared_interfaces ( void )
get_object_vars — オブジェクトのプロパティで構成される連想配列を返します
array get_object_vars ( object $obj )
get_parent_class — オブジェクトまたはクラスの親クラス名を返します
string get_parent_class ([ 混合$obj ] )
obj がオブジェクトの場合、オブジェクト インスタンス obj が属するクラスの親クラス名を返します。
obj が文字列の場合、この文字列で指定されたクラスの親クラス名を返します。この機能は PHP 4.0.5 で追加されました。
PHP 5 以降、オブジェクトのメソッド内で呼び出される場合、obj はオプションです。
bool Interface_exists ( string $interface_name [, bool $autoload ] )
この関数は、interface_name で指定されたインターフェイスが定義されている場合は TRUE を返し、そうでない場合は TRUE を返します。 FALSEを返します。
is_a — オブジェクトがこのクラスに属している場合、またはこのクラスがこのオブジェクトの親クラスである場合に TRUE を返します
bool is_a ( object $object , string $class_name )
【Tianya Note】This in PHP 5 この関数は非推奨となり、PHP の唯一の型演算子であるinstanceof に置き換えられました。使用方法は次のとおりです。
class A { }
class B { }
$thing = new A;
if ( $thing instanceof A) {
echo 'A'; }
if ($thing instanceof B) {
Echo 'B' }
is_subclass_ofこのクラス class のサブクラスです。TRUE を返します
bool is_subclass_of ( object $object , string $class_name )
method_exists — クラスのメソッドが存在するかどうかを確認します
bool ists (オブジェクト$object , string $meth od_name )
property_exists — オブジェクトまたはクラスがプロパティ
bool property_exists (mixed $class , string $property ) を持っているかどうかを確認します
【Tianya Note】それ「現在のスコープ」内にある場合、プライベートなどの属性にアクセスできない場合でも、FALSE が返されることに注意してください。例:
class myClass {
public $mine;
プライベート$xpto;
static function test() {
// true、ここからアクセスできます
var_dump(property_exists('myClass', 'xpto'));
}
}
var_dump(property_exists('myClass', 'mine')); //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto')); //false、パブリックではありません
myClass::test();
?>
以上は PHP 手册[3] – クラス/オブジェクト クラス/对オブジェクト関数の内容,より多くの相关内容请关注PHP中文网(www.php.cn)!