一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

深入理解PHP原理之錯(cuò)誤抑制與內(nèi)嵌HTML分析

php提供了一個(gè)錯(cuò)誤抑制符'@', 它是通過什么方式來阻止錯(cuò)誤輸出呢? 我又該在什么時(shí)候使用它呢?
這是這倆天一些網(wǎng)友提到的共同問題, 今天就索性整體回答下, 備后來人翻閱.
php文件內(nèi)嵌HTML的處理方式
php中, 所有在標(biāo)簽外的字符, 在詞法分析過程中, 都會(huì)翻譯成T_INLINE_HTML token, 在語法分析的時(shí)候, 所有的T_INLIE_HTML都會(huì)被分配ZEND_ECHO輸出.
也就是說:
復(fù)制代碼 代碼如下:
<?php
while($con) {
?>
laruence
<?php
}
?>

會(huì)生成一條OPLINE: T_ECHO, 而操作數(shù)是”laruence”;
就結(jié)果來說, 上面的代碼, 其實(shí)和下面的結(jié)果一樣:
復(fù)制代碼 代碼如下:
<?php
while($con) {
echo "laruence";
}
?>

但有一個(gè)要注意的地方是, 對(duì)于php標(biāo)簽外的字符, 在詞法分析過程中, 都會(huì)以400個(gè)字符為單位切分, 比如:
復(fù)制代碼 代碼如下:
<?php
if(1) {
?>
laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence laruence
<?php
}
?>

上面的代碼中, 標(biāo)簽外有531個(gè)字符(包含空格回車), 會(huì)被分成倆條T_INLINE_HTML輸出.
錯(cuò)誤抑制符
我們知道,在php中,可以通過錯(cuò)誤抑制符來靜默錯(cuò)誤提示, 那么它是通過什么方式呢?
在語法分析的過程中, 對(duì)于:
復(fù)制代碼 代碼如下:
<?php
@include('file');
?>

會(huì)分別在include語句前后插入倆條Opline(操作), 這倆個(gè)操作分別做:
復(fù)制代碼 代碼如下:
1. 保存當(dāng)前的error_reporting值, 并設(shè)置error_reporting(0); //關(guān)閉錯(cuò)誤輸出
2. 恢復(fù)之前保存的error_reporting值

也就是說, 其實(shí)上面的代碼, 和下面的代碼類似:
復(fù)制代碼 代碼如下:
$old = error_reporting(0);
include('file');
error_reporting($old);

另外, 講一句題外話:”什么時(shí)候才應(yīng)用錯(cuò)誤抑制呢?”, 我個(gè)人建議, 就是如果這條語句出錯(cuò)了對(duì)你影響不大, 你也不關(guān)心這個(gè)錯(cuò)誤是什么, 你也不會(huì)安排額外的邏輯來處理這種錯(cuò)誤, 那么你可以使用錯(cuò)誤抑制. 否則, 請(qǐng)你使用額外的邏輯來判斷錯(cuò)誤.

php技術(shù)深入理解PHP原理之錯(cuò)誤抑制與內(nèi)嵌HTML分析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 色黄小视频 | 美女视频黄频大全免费 | 国产精品自产拍2021在线观看 | 久久经典视频 | 日韩精品视频观看 | 黄在线观看www免费看 | 福利视频一区二区 | 2019天天干 | 亚洲第一页国产 | 91九色在线 | 91精品久久久久久久久网影视 | 色哟哟在线免费观看 | 色爱综合网 | 91视频免费观看 | 亚洲国产精选 | 中文字幕 亚洲一区 | riav久久中文一区二区 | 欧美日本一区亚洲欧美一区 | 欧美亚洲综合激情在线 | 精品精品国产高清a毛片牛牛 | 亚洲欧洲在线观看 | 欧美激情在线精品一区二区 | 亚洲欧美色一区二区三区 | 欧美亚洲国产另类 | 天堂综合网| 碰人超人人人超人人 | 日韩亚洲欧洲在线com91tv | 久久国产亚洲精品麻豆 | 国产成人精品一区二区三在线观看 | 久久全国免费久久青青小草 | 中文字幕不卡一区 二区三区 | 久久人 | 一卡二卡≡卡四卡亚洲高清 | 成人国产激情福利久久精品 | 日本zzzwww大片免费 | 大象焦伊人久久综合网色视 | 欧美成人午夜视频免看 | 国产福利2021最新在线观看 | 欧美日韩亚洲人人夜夜澡 | 视频二区中文字幕 | 美国一级毛片aa黑寡妇 |