天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

深入理解PHP原理之錯誤抑制與內嵌HTML分析

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

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

但有一個要注意的地方是, 對于php標簽外的字符, 在詞法分析過程中, 都會以400個字符為單位切分, 比如:
復制代碼 代碼如下:
<?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
}
?>

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

會分別在include語句前后插入倆條Opline(操作), 這倆個操作分別做:
復制代碼 代碼如下:
1. 保存當前的error_reporting值, 并設置error_reporting(0); //關閉錯誤輸出
2. 恢復之前保存的error_reporting值

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

另外, 講一句題外話:”什么時候才應用錯誤抑制呢?”, 我個人建議, 就是如果這條語句出錯了對你影響不大, 你也不關心這個錯誤是什么, 你也不會安排額外的邏輯來處理這種錯誤, 那么你可以使用錯誤抑制. 否則, 請你使用額外的邏輯來判斷錯誤.

php技術深入理解PHP原理之錯誤抑制與內嵌HTML分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 台湾18成人影院 | 一点色成人| 日韩一区二区三区免费体验 | 男同志vdieos免费 | 精品国产露脸久久AV麻豆 | 亚洲免费精品视频 | 肉小说高h | 亚洲一区二区女搞男 | 国产免费久久精品国产传媒 | 秘密影院久久综合亚洲综合 | 国产在线观看不卡 | 国产免费午夜高清 | 欧美九十老太另类 | 亚洲国产成人精品无码区5566 | 爱如潮水3免费观看日本 | 精品国产人成亚洲区 | 久久久亚洲国产精品主播 | 亚洲国产高清视频在线观看 | 午夜福利92看看电影80 | 精品视频在线一区 | 国产免费播放一区二区三区 | 狠狠色狠狠色88综合日日91 | 年轻老师毛茸茸自由性 | 亚洲欧洲日本无在线码播放 | 99riav9 精品香蕉免费大视频 | 免费观看成人www精品视频在线 | 亚洲成人免费看 | 忘忧草下载| 久久免费观看视频 | 正在播放一区二区 | 嫩草影院久久精品 | 污污内射在线观看一区二区少妇 | 亚洲色婷婷久久精品AV蜜桃 | 秘密影院久久综合亚洲综合 | 香蕉在线播放 | 日本强好片久久久久久AAA | 久久热免费视频 | 亚洲蜜桃AV色情精品成人 | 日韩精品亚洲专区在线电影不卡 | 忘忧草在线影院www日本 | 国产品无码一区二区三区在线 |