3 回答

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
我不會(huì)對(duì)這個(gè)問題發(fā)表完整的答案,因?yàn)楝F(xiàn)有的和PHP手冊(cè)很好地解釋了大部分問題。
但是,這是漏掉了一個(gè)主題是的超全局變量,包括常用的$_POST
,$_GET
,$_SESSION
等這些變量始終可用,在任何范圍內(nèi),沒有一個(gè)數(shù)組global
聲明。
例如,此函數(shù)將打印出運(yùn)行PHP腳本的用戶的名稱。該函數(shù)可以使用該變量而沒有任何問題。
<?php
function test() {
echo $_ENV["user"];
}
“全局變量很糟糕”的一般規(guī)則通常在PHP中被修改為“全局變量很糟糕但超級(jí)全球變好”,只要一個(gè)人沒有濫用它們。(所有這些變量都是可寫的,因此如果你真的很糟糕,它們可以用來避免依賴注入。)
這些變量不能保證存在; 管理員可以通過禁用某些或所有這些variables_order
指令中php.ini
,但是這是不常見的行為。
當(dāng)前超級(jí)全球的列表:
$GLOBALS
- 當(dāng)前腳本中的所有全局變量$_SERVER
- 有關(guān)服務(wù)器和執(zhí)行環(huán)境的信息$_GET
- 無論用于請(qǐng)求的HTTP方法如何,都在URL的查詢字符串中傳遞值$_POST
- 使用application/x-www-form-urlencoded
或multipart/form-data
MIME類型在HTTP POST請(qǐng)求中傳遞的值$_FILES
- 使用multipart/form-data
MIME類型在HTTP POST請(qǐng)求中傳遞的文件$_COOKIE
- 隨當(dāng)前請(qǐng)求傳遞的Cookie$_SESSION
- PHP內(nèi)部存儲(chǔ)的會(huì)話變量$_REQUEST
- 通常是$_GET
和的組合$_POST
,但有時(shí)候$_COOKIES
。內(nèi)容由確定的request_order
指令在php.ini
。$_ENV
- 當(dāng)前腳本的環(huán)境變量
- 3 回答
- 0 關(guān)注
- 589 瀏覽
添加回答
舉報(bào)