簡介:本類別函數允許取得類別和物件實例的資訊。可以取得物件所屬的類別的名字,以及它的成員屬性和方法。透過使用這些函數,不僅可以弄清楚一個物件類別的全體成員,而且可以知道它的起源(例如,該物件類別是哪個類別的擴展)。
class_exists — 檢查類別是否已定義
bool class_exists ( string $class_name [, bool $autoload ] )
如果由 class_name
如果由 class_name 則傳回函數。
class_exists() 預設將會嘗試呼叫 __autoload,如果不想讓 class_exists() 呼叫 __autoload,可以將 autoload 參數設為 FALSE。
get_class_methods — 傳回由類別的方法名稱組成的陣列
array get_class_methods ( mixed $class_name )
從PHnname 4.0.
$class_methods = get_class_methods('myclass');
// or
$class_methods = get_class_methods(new myclass());
自PHP 的名稱。在 PHP 4 中總是會傳回小寫的。
get_class_vars — 傳回由類別的預設屬性組成的陣列
array get_class_vars ( string $class_name )
string get_class ([ object $obj ] )
array get_declared_classes ( void )
intery get_declared_類
array get_declared_interfaces ( void )
get_object_vars — 傳回由物件屬性組成的關聯陣列
array get_object_vars ( object $
array get_object_vars ( object $
array get_object_vars ( object $
array get_object_vars ( object $object ) ?父類別名稱
string get_parent_class ([ mixed $obj ] )
如果obj 是對象,則傳回物件實例obj 所屬類別的父類別名稱。
自 PHP 5 起,如果在物件的方法內調用,則 obj 為可選項。
interface_exists — 檢查介面是否已被定義
bool interface_exists ( string $interface_name [, bool $autoload ] )
UEfaceface
face 接口FALSE。
is_a — 若物件屬於該類別或該類別是此物件的父類別則傳回TRUE
bool is_a (object $object , string $Qclass_name )
㟎函數已被廢棄,取而代之的是PHP中的唯一的類型運算符instanceof ,使用方法如下:
class A { }
class B { }
$thing = new Aif; thing instanceof A) { echo 'A';
}
if ($thing instanceof B) {
echo 'B';
}
?>
則回傳TRUE
bool is_subclass_of ( object $object , string $class_name )
property_exists — 檢查物件或類別是否具有該屬性
bool property_exists ( mixed $class , string $property )
] ,屬性存取不到的話,例如是private,則依然返回FALSE ,例如:
class myClass {
public $mine;
私人$xpto;
static function test() {
// Class,可以從這裡存取
, function test() {
// Class,可以從這裡存取權。 ));
}
}
var_dump(property_exists('myClass', 'mine')); //true
var_dump(property_exists(new myClass, 'mine')); //true
var_exists(new myClass, 'mine')); , 'xpto')); // false,不是public
myClass::test();
? >
以上就是摘自PHP手冊[3] – Classes/Objects 類別/物件函數的內容,更多相關內容請關注PHP中文網(www.php.cn)!