php 與類相關的系統函式;
1.class_exists("類名") :判斷一個類是否存在(是否被定義);
eg: class_exists('A') ;//判斷類A是否被定義 ;
2.interface_exists("介面名") :判斷一個介面是否被定義 ;
eg: interface_exists('IA') ;//判斷介面IA是否被定義 ;
3.get_class("物件名") :獲取某個物件的所屬類 ;
eg: $obj = new A() ;
get_class($obj) ; //獲取物件$obj的所屬類,這裡就是A
4.get_parent_class($obj) :獲取某個物件所屬類的父類
eg: class A{}
class B extends A{}
$obj = new B() ;
get_parent_class($obj) ; //獲取$obj所屬類的父類,這裡是A
5.get_class_methods("類名或物件名") :獲取一個類(或物件所在類)的所有方法,結果是一個數組,裡面儲存的是一些方法名稱;
eg: class A{
public function show(){}
public function show2(){}
}
$function_arr = get_class_methods("A") ; // 獲取類A的所有方法,結果是一個存放類A的所有方法的陣列;
or
$function_arr = get_class_methods($obj) ; //
6.get_class_vars("類名") :獲取一個類的所有屬性名,結果是一個數組,裡面存放的是這些屬性名稱;
eg: class A{
public $p1 ;
public $p1 ;
}
$attribute_arr = get_class_vars("A") ; //獲取類A的所有屬性,結果是一個存放類A的所有屬性的陣列
7.get_declared_classes() :獲取整個系統所定義的所有類名,結果是一個數組,裡面存放的是整個系統中定義的所有類的類名;
eg: class A{}
class B{}
class C{}
class D{}
$classes_arr = get_declared_classes() ; //假設整個系統就定義以上4個類,那麼這個結果將是一個存放以上4個類的類名的陣列