命名空間
多個命名相同衝突的問題
類自動載入
sql_autoload_register
和__autoload
第一種function loadprint($file)
}spl_autoload_register(『loadprint』);
第二種function __autoload($class)
}php
鏈式操作
return $this;
php魔術方法
1 構造方法的作用是什麼
通常構造方法被用來執行一些有用的初始化任務,如對成員屬性在建立物件時賦予初始值
構造方法的在類中的宣告格式
function __construct()
同乙個類中只能宣告乙個構造方法,原因是
php不支援建構函式過載
構造方法名稱是以兩個下畫線開始的
__construct()
2 析構函式
__destruct()
類的析構函式
允許在銷毀乙個類之前執行一些操作或完成一些功能,比如說關閉檔案,釋放結果集等
function __destruct()
3 __call(),
在物件中呼叫乙個不可訪問方法時呼叫
該方法有兩個引數,第乙個引數
$function_name
會自動接收不存在的方法名,第二個
$arguments
則以陣列方式接受不存在方法的多個引數
4 __callstatic()
用靜態方式中呼叫乙個不可訪問的方法時呼叫
5__get()
獲得乙個類的成員變數時呼叫
在php
物件導向程式設計中,類的成員屬性被設定為
private
後,如果我們試圖在外邊呼叫它則會出現不能訪問某個私有屬性的錯誤,則為了解決這個問題,我們可以使用魔術方法
__get()
6 __set()
設定乙個類的成員變數時呼叫
用來設定私有屬性,給乙個未定義的屬性賦值時,此方法會被觸發,傳遞的引數是被設定的屬性名和值
7 __isset(),
當對不可訪問屬性呼叫
isset()
或empty()
時呼叫公有屬性
isset
可以測,私有屬性不可以測,需要加
__set
函式8 __unset(),
當對不可訪問屬性呼叫
unset()
時被呼叫
刪除屬性
9 __sleep()
執行serialize()
時,先會呼叫這個函式
serialize
函式會檢查類中是否存在乙個魔術方法
__sleep().
如果存在,則該方法會優先被呼叫,然後才執行序列化操作,此功能用於清理物件,並返回乙個包含物件所有應被序列化的變數名稱的陣列
10 __wakeup(),
執行unserialize()
時。先會呼叫這個函式
11 __tostring(),
類被當成字串時的回應方法
12 __invoke()
呼叫函式的方式呼叫乙個物件的回應方法
13 __set_state()
此靜態方法會被呼叫
14 __clone()
當物件複製完成時呼叫
php 5
會對物件的所有屬性執行乙個淺複製,
clone
直接複製
15 __autoload()
嘗試載入未定義的類
16 __debuginfo()
列印所需除錯資訊
php魔術常量,魔術方法
魔術常量 1。line 返回檔案中的當前行號。2。file 返回檔案的完整路徑和檔名。如果用在包含檔案中,則返回包含檔名。自php4.0.2 起,file 總是包含乙個絕對路徑,而在此之前的版本有時會包含乙個相對路徑。3。function 返回函式名稱 php4.3.0 新加 自php5 起本常量返...
invoke 魔術 PHP 魔術方法
php 魔術方法 構造方法 construct 析構方法 destruct get 與 set unset call 和 callstatic sleep 和 wakeup clone tostring invoke set state debuginfo construct 這個方法應該是最常用的...
php魔術方法
php5魔術方法 魔術函式 1。construct 建構函式 例項化物件時被呼叫,當 construct和以類名為函式名的建構函式同時存在時,construct將被呼叫,另乙個不被呼叫。2。destruct 析構函式 當刪除乙個物件或物件操作終止時被呼叫 程式結束後物件就摧毀 永遠都是最後執行的。3...