[梳理] PHP 魔術變量、超全局變量、魔術函數

魔術變量

  • __LINE__ 文件中的當前行號。
  • __FILE__ 文件的完整路徑和文件名。如果用在被包含文件中,返回被包含的文件名。
  • __DIR__ 文件所在的目錄。如果用在被包含文件中,返回被包含的文件所在的目錄。
  • __FUNCTION__ 自 PHP 5 起返回該函數被定義時的名字(區分大小寫)。在PHP 4中改值總是小寫字母。
  • __CLASS__ 自 PHP 5 起返回該類被定義時名字(區分大小寫)。
  • __TRAIT__ trait 的名字。
  • __METHOD__ 類的方法名。返回該方法被定義時的名字(區分大小寫)。
  • __NAMESPACE__ 當前命名空間的名稱(區分大小寫)。

超全局變量

  • $GLOBALS 存儲全局作用域中的變量。
  • $_SERVER 獲取服務器相關信息。
  • $_REQUEST 獲取POST和GET請求的參數。
  • $_POST 獲取表單的POST請求參數。
  • $_GET 獲取表單的GET請求參數。
  • $_FILES 獲取上傳文件的變量。
  • $_ENV 獲取服務器端環境變量的數組。
  • $_COOKIE 瀏覽器cookie的操作。
  • $_SESSION 服務端session的操作。

魔術函數

  • __construct() 實例化對象時被調用。
  • __destruct() 當刪除一個對象或對象操作終止時被調用。
  • __call() 對象調用某個方法,若方法不存在,則會調用該函數。
  • __get() 讀取一個對象的屬性時,若屬性不存在,則會調用該函數。
  • __set() 設置一個對象的屬性時,若屬性不存在,則會調用該函數。
  • __toString() 打印一個對象時被調用。如echo obj;或printobj;
  • __clone() 克隆對象時被調用,如:t=new Test();t1=clone $t;
  • __sleep() serialize之前調用。
  • __wakeup() unserialize時調用。
  • __isset() 檢測一個對象的屬性是否存在時被調用。如:isset($c->name)。
  • __unset() unset 一個對象的屬性時被調用。如:unset($c->name)。
  • __set_state() 調用var_export時,被調用。用__set_state的返回值做為var_export的返回值。
  • __autoload() 實例化一個對象時,如果對應的類不存在,則該方法被調用。
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,434評論 0 5
  • 需求:1、 用Android系統launcher 隱藏主菜單 所有應用顯示在桌面 即workspace上;2、隱藏...
    solary2016閱讀 5,147評論 2 13
  • 每個人都有自己的第一次,都會留下深刻的印象,讓我印象最深刻的是第一次洗菜。 一天晚上,我到廚房...
    王虹元閱讀 389評論 0 0
  • 小蘿卜: 今年你6歲,爸爸要給你準備一些以后你可能用得著,但現在一定看不懂的文字。 爸爸最近參加了國內幾所殿堂級高...
    HR大叔閱讀 522評論 0 1