PHP中類的相關函數



============================
Classes/Object 函數 
============================
  參考手冊中--與對象和類有關的擴展函數
1. class_alias — 爲類創建一個別名
------------------------------------------------
格式:bool class_alias ([ string $original [, string $alias ]] )
示例:
class foo { }
class_alias('foo', 'bar');


$a = new foo;
$b = new bar;
// the objects are the same
var_dump($a == $b, $a === $b);  //bool(true)
var_dump($a instanceof $b);//bool(false)


// the classes are the same
var_dump($a instanceof foo);//bool(true)
var_dump($a instanceof bar);//bool(true)


var_dump($b instanceof foo);//bool(true)
var_dump($b instanceof bar);//bool(true)


*2. class_exists — 檢查類是否已定義
-----------------------------------------------------------
格式: bool class_exists ( string $class_name [, bool $autoload ] )
--如果由 class_name 所指的類已經定義,此函數返回 TRUE,否則返回 FALSE。

默認將會嘗試調用 __autoload,如果不想讓 class_exists() 調用 __autoload,
可以將 autoload 參數設爲 FALSE。


3. get_called_class — the "Late Static Binding" class name
---------------------------------------------------------------------
(PHP 5 >= 5.3.0)  獲取調用者的類名


*4. get_class_methods — 返回由類的方法名組成的數組
----------------------------------------------------------------------
格式:array get_class_methods ( mixed $class_name )
返回由 class_name 指定的類中定義的方法名所組成的數組。如果出錯,則返回 NULL。 

從 PHP 4.0.6 開始,可以指定對象本身來代替 class_name


5. get_class_vars — 返回由類的默認公有屬性組成的數組
-----------------------------------------------------------------------
格式: array get_class_vars ( string $class_name )
返回由類的默認公有屬性組成的關聯數組,此數組的元素以 varname => value 的形式存在。 


*6. get_class — 返回對象的類名
-----------------------------------------------------------------------
格式: string get_class ([ object $obj ] )
返回對象實例 obj 所屬類的名字。如果 obj 不是一個對象則返回 FALSE。


7. get_declared_classes — 返回由已定義類的名字所組成的數組
--------------------------------------------------------------------------
格式:array get_declared_classes ( void )
返回由當前腳本中已定義類的名字組成的數組。 


8. get_declared_interfaces — 返回一個數組包含所有已聲明的接口
--------------------------------------------------------------------------
格式:array get_declared_interfaces ( void )
本函數返回一個數組,其內容是當前腳本中所有已聲明的接口的名字。 


9. get_object_vars — 返回由對象屬性組成的關聯數組
------------------------------------------------------------------
格式:array get_object_vars ( object $obj )
返回由 obj 指定的對象中定義的屬性組成的關聯數組。 


10. get_parent_class — 返回對象或類的父類名
------------------------------------------------------------------
格式:string get_parent_class ([ mixed $obj ] )
如果 obj 是對象,則返回對象實例 obj 所屬類的父類名。


11. interface_exists — 檢查接口是否已被定義
------------------------------------------------------------------
格式:bool interface_exists ( string $interface_name [, bool $autoload ] )
本函數在由 interface_name 給出的接口已定義時返回 TRUE,否則返回 FALSE。


*12. is_a — 如果對象屬於該類或該類是此對象的父類則返回 TRUE
我們可以使用運算符: instanceof代替上面的is_a操作
------------------------------------------------------------------
格式:bool is_a ( object $object , string $class_name )
如果對象是該類或該類是此對象的父類則返回 TRUE,否則返回 FALSE。 

13. is_subclass_of — 如果此對象是該類的子類,則返回 TRUE
------------------------------------------------------------------
格式:bool is_subclass_of ( object $object , string $class_name )
如果對象 object 所屬類是類 class_name 的子類,則返回 TRUE,否則返回 FALSE。 


*14. method_exists — 檢查類的方法是否存在
--------------------------------------------------------------------
格式:bool method_exists ( object $object , string $method_name )
如果 method_name 所指的方法在 object 所指的對象類中已定義,則返回 TRUE,否則返回 FALSE。


*15. property_exists — 檢查對象或類是否具有該屬性
--------------------------------------------------------------------
格式:bool property_exists ( mixed $class , string $property )
本函數檢查給出的 property 是否存在於指定的類中(以及是否能在當前範圍內訪問)。 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章