public
公共屬性和方法,它的實例,子類均可以訪問以及子類的實例均可以訪問,但必須通過實例方式輸出
const常量
可以直接通過類來訪問,可以通過類直接輸出
function __construct(){}
用來初始化類的一些屬性,具體初始值可以通過不同的子類去設置
function __destruct(){}
用來摧毀對象,釋放內存
extends
子類繼承父類
parent::
訪問父類的常量
self::
自己調用自己的常量
類名::父類常量
外界直接調用類常量
private
定義私有變量和方法
私有方法子類不可以調用,也不可以在類外面訪問,類的實例也不能調用,只有所屬類內部可以調用和修改
protected
本類和子類可以調用屬性和方法,但是實例不可以
static靜態變量
用法類似於const,但是它每次的變化都會被保存,幾個類以及子類和實例中都是同一個引用,不會被復制
final 被final修飾過的類不能再有子類,也就是不能被繼承,但是實例可以繼續訪問它的屬性和方法,但是不能被修改
abstract抽象類,不能被實例化,只能作為其他類的父親使用,並且抽象方法沒有方法體,只能通過子類去設置方法體
interface
實現接口類,里面的是一些未實現的方法以及成員變量,一個子類可以繼承多個父類,通過關鍵字implements來繼承,中間用逗號隔開,並且父類中不允許出現其他關鍵字
clone用來克隆一個對象,如果要引用一個對象的話前面要加&或者直接等於;要真正的復制一份需要用克隆關鍵字,注意:平時每個類的實例對象都是復制一份新的出來
function__clone(){}
對於克隆的對象用的是該方法產生的值
對象是引用還是復制的通過==和===來判斷
instanceof用來判斷一個實例對象是否是某個類實例化來的,其中包括該類的祖先類
function __set()
當程序試圖寫入一個不存在或不可見的成員變量時,PHP就會執行__set()方法,該方法含有兩個參數,分別表示變量名和變量值
function __get()
當程序試圖調用一個未定義或不可見的成員變量時候,可以通過該方法讀取變量值,該方法有一個參數,為要調用的變量名
function__call()
當程序調用一個不存在的方法,PHP會調用該方法,該方法有兩個參數,第一個為被調用的方法名,第二個是一個數組,包含被調用的方法的所有參數
serialize()用來序列化一個對象
function __sleep()序列化對象時候,對象包含該方法則會先執行該方法,該方法會清除對象,並返回包含該對象中所有變量的數組
unserialize()還原一個被serialize序列化的對象
function__wakeup()回復在序列化中可能丟失的數據庫連接
function__toString()輸出對象時,將對象轉換為字符串
include__once和include__require動態引入類文件
function__autoload()自動實例化需要的類
