PHP中用下劃線開頭的變量含義

命名的規則
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)

相關文章
相關標籤/搜索