一、類
1.類的定義class classname{ class definition;}更具體的有:class
classname
[ extends
baseclass
]
{
[ var
$property
[
= value
]; ... ]
[ function
functionname
(
args
) {
//
code
}
...
]
}
2.建立類的一個對象$object = new classname;3.調用類的屬性和方法$object->properties;$object->method(arg1,.....);也可以通過屬性來訪問特定的屬性名稱:$prop = 'name';echo $object->$prop;靜態方法和屬性要通過::運算子來調用classname::nameclassname::method();4.類的方法定義以__(兩條底線)開始的方法名被特殊的一類函數,故一般不定義這樣的函數。在類的方法中使用$this來表示這個類的對象指標。靜態方法並不需要以static來開始,只要是沒有使用$this指標的類方法均認為是靜態。5.類的屬性定義在PHP的類定義中,我們並不需要特別聲明一個類的初始化屬性,同PHP中變數的使用一樣,一個類的屬性可以通過$this->來即時地添加。6.類的繼承類可以通過extends來繼承其父類的模板。
7.類的內省
檢查一個類是否被定義:
$yes_no = class_exists(classname
);
$classes = get_declared_classes( );
獲得類定義的屬性和方法
$methods = get_class_methods(classname
);
$properties = get_class_vars(classname
);
獲得父類名:
$superclass = get_parent_class(classname
);
8.對象的內省
檢查變數是否是一個對象或者獲得其類名
$yes_no = is_object(var
);
$classname = get_class(object
);
判斷一個對象是否具有某種方法
$yes_no = method_exists(object
, method
);
獲得對象對應的類的方法和屬性
$array = get_object_vars(object
);
8.序列化
序列化意味著我們可以將對象轉化成一個字元序列,從而存貯到一個檔案中去。
$encoded = serialize(something
);
$something = unserialize(encoded
);