Eval()PHP構(gòu)造
來(lái)源:教育資源網(wǎng)
?
發(fā)布時(shí)間:2020-11-30 08:00:50
?
點(diǎn)擊:2138
PHPeval()構(gòu)造用于將輸入字符串評(píng)估為PHP,然后對(duì)其進(jìn)行處理。Eval()不是一個(gè)函數(shù),但它的工作原理就像一個(gè)函數(shù),它輸出除了將其作為文本輸出之外的所有內(nèi)容,它將其輸出為要執(zhí)行的PHP代碼。eval()構(gòu)造的一個(gè)用途是將代碼存儲(chǔ)在數(shù)據(jù)庫(kù)中以便稍后執(zhí)行。
Eval()語(yǔ)言構(gòu)造的示例
以下是為eval()語(yǔ)言構(gòu)造編碼的簡(jiǎn)單示例。
";
eval("\$a=\"$a \";");
打印$a。"
";
?>
這個(gè)代碼示例在第一次使用print語(yǔ)句調(diào)用時(shí)輸出我的朋友是$name和$name2,在運(yùn)行eval()后第二次調(diào)用時(shí)輸出我的朋友是Joe和Jim。
Eval()
的要求和特征- 傳遞的代碼可以'
- 傳遞的代碼必須是有效的PHP。
- 所有語(yǔ)句必須以分號(hào)終止。
- areturn語(yǔ)句終止代碼評(píng)估。
- eval()中定義或更改的任何變量在終止后仍然存在。
- 評(píng)估代碼中發(fā)生致命錯(cuò)誤,腳本退出。
- 因?yàn)閑val()是一種語(yǔ)言構(gòu)造而不是函數(shù),所以它可以't用于高階函數(shù)。
使用Eval()
的危險(xiǎn)PHP手冊(cè)不鼓勵(lì)使用eval()構(gòu)造,強(qiáng)調(diào)它的使用是"非常危險(xiǎn)"因?yàn)榭梢詧?zhí)行任意的PHP代碼。除非不可能,否則指示用戶使用eval()以外的任何其他選項(xiàng)。PHP-eval()構(gòu)造的使用帶來(lái)安全風(fēng)險(xiǎn)。
文學(xué)小常識(shí)