1. 程式人生 > >php 與類相關的系統函式;

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(){}

}

$obj = new A() ;

$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個類的類名的陣列