首頁  >  文章  >  後端開發  >  PHP超全域變數、魔術變數和魔術方法

PHP超全域變數、魔術變數和魔術方法

高洛峰
高洛峰原創
2016-11-22 14:33:28962瀏覽

PHP在設計的時候已經預先定義了9個超全局變數、8個魔術變數和13魔術方法,這些變數和函數可以在腳本的任何地方不用聲明就可以使 用。 在PHP開發會頻繁的使用這些變數和函數,這些變數和函數可以方便的幫我們解決很多問題。以下詳細的說明下PHP中的超全域變數、魔術變數和魔術方法。

PHP超全域變數(9個)

  $GLOBALS  儲存全域作用域中的變數

  $_SERVER  『 $_POST  取得表單的POST請求參數

  $_GET  取得表單的GET請求參數

  $_FILES  取得上傳檔案的的變數

  組瀏覽器cookie的操作

          設定cookie:setcookie(name, value , expire, path, domain);

          獲取cookie:$_COOKIE["user"];🀜  》      〝  〦  〝 另  、 ) )-3600);//設定過期時間

  $ _SESSION  服務端session的操作

          使用session前一定要session_start()啟動session

          儲存session:$_SESSION["name"]="King";//數組操作

          銷毀session:unset($_SESSION[" name"]);//銷毀一個

          session_destroy()和unset($_SESSION);//銷毀所有的session

LINE

『  文件中的目前行號。

  __FILE__  檔案的完整路徑和檔案名稱。如果用在被包含檔案中,則傳回被包含的檔案名稱。

  __DIR__  檔案所在的目錄。如果用在被包含檔案中,則傳回被包含的檔案所在的目錄。

  __FUNCTION__  常數傳回該函數被定義時的名字

  __CLASS__  常數傳回該類別被定義時的名字(區分大小寫)。

        __TRAIT__         Trait 的名稱(PHP 5.4.0 新加)。自 PHP 5.4.0 起,PHP 實作了程式碼重複使用的一個方法,稱為 traits。

  __METHOD__  類別的方法名稱(PHP 5.0.0 新加)。傳回該方法被定義時的名字(區分大小寫)。

  __NAMESPACE__  目前命名空間的名稱(區分大小寫)。此常數是在編譯時定義的(PHP 5.3.0 新增)。

 

PHP魔術方法(13個)

  __construct()   實例化物件時被調用,當__construct和以類別名稱為函數名的函數同時存在時,__construct將被調用,另一個不被調用。

  __destruct()    當刪除一個物件或物件操作終止時被呼叫。

  __call()      物件呼叫某個方法,若方法存在,則直接呼叫;若不存在,則會去呼叫__call函數。

  __get()       讀取物件的屬性時,若屬性存在,則直接傳回屬性值;若不存在,則會呼叫__get函數。

  __set()        設定一個物件的屬性時,若屬性存在,則直接賦值;若不存在,則會呼叫__set函數。

  __toString()    列印一個物件的時被呼叫。如echo $obj;或print $obj;

  __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()    實例化一個物件時,如果對應的類別不存在,則該方法被呼叫。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn