国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

PHP 預(yù)定義變量、魔術(shù)常量和魔術(shù)方法功能與用法小結(jié)

瀏覽:109日期:2022-09-10 17:03:04

本文總結(jié)了PHP 預(yù)定義變量、魔術(shù)常量和魔術(shù)方法。分享給大家供大家參考,具體如下:

PHP 預(yù)定義了一些變量、常量、方法,使用起來很方便,例如直接使用 __DIR__ 獲取當(dāng)前文件所在的目錄。

下面分別詳細(xì)介紹一下 PHP 的預(yù)定義變量、魔術(shù)常量和魔術(shù)方法

預(yù)定義變量超全局變量:

超全局變量是在全部作用域中始終可用的內(nèi)置變量,意味這你可以在 PHP 腳本的任意位置直接訪問。在函數(shù)或方法中無需執(zhí)行 global $variable; 就可以訪問它們。

超全局變量是從 PHP 4.1.0 開始才有的功能。

PHP 的超級全局變量有:

$GLOBALS,引用全局作用域中可用的全部變量

$_SERVER,服務(wù)器和執(zhí)行環(huán)境信息

$_GET,HTTP GET 變量

$_POST,HTTP POST 變量

$_FILES,HTTP 文件上傳變量

$_COOKIE,HTTP Cookies

$_SESSION,Session 變量

$_REQUEST,HTTP Request 變量

$_ENV,環(huán)境變量

其他:

$php_errormsg,前一個錯誤信息

$HTTP_RAW_POST_DATA,原生 POST 數(shù)據(jù),一般會使用 php://input 代替 $HTTP_RAW_POST_DATA

$http_response_header,HTTP 響應(yīng)頭

$argc,傳遞給腳本的參數(shù)數(shù)目

$argv,傳遞給腳本的參數(shù)數(shù)組

魔術(shù)常量

PHP 有八個魔術(shù)常量,它們的值隨著它們在代碼中的位置改變而改變。例如 __LINE__ 的值就依賴于它在腳本中所處的行來決定。這些特殊的常量(魔術(shù)常量)不區(qū)分大小寫,如下:

__LINE__,文件中的當(dāng)前行號

__FILE__,文件的完整路徑和文件名,如果用在被包含的文件中,則返回被包含的文件名

__DIR__,文件所在的目錄,如果用在被包括文件中,則返回被包括的文件所在的目錄。等價與 dirname(__FILE__)

__FUNCTION__,函數(shù)的名稱

__CLASS__,類的名稱

__TRAIT__,trait 的名字

__METHOD__,類的方法名

__NAMESPACE__,當(dāng)前命名空間的名稱

魔術(shù)方法

Magic methods PHP 的魔術(shù)方法,在命名自定義的類方法時不能使用這些方法名,因為 PHP 已經(jīng)規(guī)定好了這些方法是有特定的功能,例如 __construct() 是構(gòu)造方法。

PHP 將所有以 __(兩個下劃線)開頭的類方法保留為魔術(shù)方法。所以在定義類方法時,除了魔術(shù)方法,建議不要以 __ 為前綴。

__construct(),構(gòu)造函數(shù)

__destruct(),析構(gòu)函數(shù)

__call(),在對象中調(diào)用一個不可訪問的方法時,__call() 會被調(diào)用

__callStatic(),在對象中調(diào)用一個不可訪問的靜態(tài)方法時,__call() 會被調(diào)用

__get(),當(dāng)讀取不可訪問的屬性值時,__set() 會被調(diào)用

__set(),當(dāng)給不可訪問的屬性賦值時,__set() 會被調(diào)用

__isset(),當(dāng)對不可訪問屬性調(diào)用 isset() 或 empty() 是,__isset() 會被調(diào)用

__unset(),當(dāng)對不可訪問屬性調(diào)用 unset() 時,__unset() 會被調(diào)用

__sleep(),serialize() 函數(shù)會檢查類中是否存在魔術(shù)方法 __sleep(),如果存在,會先調(diào)用 __sleep(),然后才執(zhí)行序列化操作。這樣就允許對象在被序列化之前做任何清除操作。

__wakeup(),當(dāng)使用 unserialize() 恢復(fù)對象時, 將調(diào)用 __wakeup() 成員函數(shù)。

__toString(),當(dāng)一個對象被當(dāng)作字符串輸出時,會調(diào)用 __toString() 輸出的內(nèi)容,例如 echo $obj;

__invoke(),當(dāng)以調(diào)用函數(shù)的方式調(diào)用一個對象時,__invoke() 方法會被自動調(diào)用,本特性只在 PHP 5.3.0 及以上版本有效。

__set_state(),當(dāng)調(diào)用 var_export() 導(dǎo)出對象時,此方法會被調(diào)用

__clone(),對象復(fù)制,當(dāng)使用 clone 關(guān)鍵字復(fù)制對象時,會調(diào)用 __clone(),__clone() 不能被直接調(diào)用,使用 clone 復(fù)制的對象為淺復(fù)制,所以引用屬性仍然會是一個指向原來的變量的引用。

__debugInfo(),當(dāng)調(diào)用 var_dump() 導(dǎo)出對象時,此方法會被調(diào)用

__autoload($class_name),加載未定義的類

官方文檔:

https://www.php.net/manual/zh/reserved.variables.php

https://www.php.net/manual/zh/language.constants.predefined.php

https://www.php.net/manual/zh/language.oop5.magic.php

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 在线观看亚洲免费视频 | 亚洲在线一区二区三区 | 亚洲精品亚洲人成在线 | 欧美一级高清免费播放 | 免费一级a毛片在线播放视 免费一级α片在线观看 | 久久视频精品53在线观看 | 伊人久久影视 | 精品国产三级a∨在线 | 亚洲一区二区三区成人 | 很黄很色的摸下面的视频 | 欧美视频一区二区专区 | 人成精品视频三区二区一区 | 91久久精品青青草原伊人 | 精品国产欧美精品v | 久久99久久 | a级片在线免费观看 | 中文国产成人精品久久久 | 亚洲国产成人久久笫一页 | 亚洲一区二区在线成人 | www.黄色免费 | 美女一级免费毛片 | 亚洲韩国日本欧美一区二区三区 | 亚洲国产综合精品 | 国产精品嘿咻嘿咻在线播放 | 在线观看视频一区 | 国产精品亚洲专区一区 | 男人女人做刺激视频免费 | 国产乱码精品一区二区三区四川人 | 欧美精品网址 | 自拍视频精品 | 欧美人成片免费看视频不卡 | 国产一级二级三级毛片 | 5级做人爱c视版免费视频 | 国产黄a三级三级三级 | 国产日韩久久久精品影院首页 | 一级一级一片免费 | 国产精品爱久久久久久久9999 | 91一区| 亚洲精品在线影院 | 国产成人久久精品区一区二区 | 韩国理伦一级毛片 |