命名的規則
php
加一個爲私有的框架
加兩個通常都是系統默認的,系統預約義的,即所謂: 「魔術方法」與「魔術常量」
函數
PHP起止爲雙下劃線的常量即爲「魔術常量」:ui
__LINE__文件中的當前行號。.net
__FILE__文件的完整路徑和文件名。code
__DIR__文件所在的目錄。若是用在被包括文件中,則返回被包括的文件所在的目錄。它等價於 dirname(__FILE__)。除非是根目錄,不然目錄中名不包括末尾的斜槓對象
注:以上內容來自「PHP中文手冊->語言參考->常量->魔術常量」。
從php5之後的版本,php的類就能夠使用魔術方法了。
php規定以兩個下劃線(__)開頭的方法都保留爲魔術方法,因此建議你們函數名最好不用__開頭,除非是爲了重載已有的魔術方法。blog
PHP中的魔術方法有 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoloadget
__autoloadio
__autoload 函數,它會在試圖使用還沒有被定義的類時自動調用。經過調用此函數,腳本引擎在 PHP 出錯失敗前有了最後一個機會加載所需的類。
若是要定義一個全局的自動加載類,則必須用spl_autoload_register()方法將處理類註冊到PHP標準庫:
<?php class Loader { static function autoload_class($class_name) { //尋找正確的$class_name類,並引入,沒有則拋出異常 } } /** * 設置對象的自動載入 * spl_autoload_register — Register given function as __autoload() implementation */ spl_autoload_register(array('Loader', 'autoload_class')); $a = new Test();//Test沒用require就實例化,實現自動加載,不少框架就用這種方法自動加載類 ?>
注意: 在 __autoload 函數中拋出的異常不能被 catch 語句塊捕獲並致使致命錯誤,因此應該在函數自己作捕獲。
(原帖:http://blog.csdn.net/zlking02/article/details/6752256)