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

深入理解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分析,轉載需保留來源!

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

主站蜘蛛池模板: 精品伊人网 | 黄色片视频免费 | 国产婷婷一区二区在线观看 | 91网站入口| 亚洲美女aⅴ久久久91 | 欧美性xxxx人妖 | 青青草久热精品视频在线观看 | 真实国产乱子伦精品一区二区三区 | 91精品啪在线观看国产日本 | 毛片黄片免费看 | 亚洲全网成人资源在线观看 | 91探花福利精品国产自产在线 | 国产极品精频在线观看 | 日本一区二区三区在线网 | 六月婷婷啪啪 | 夜夜未满 18勿进的爽影院 | 五月亭亭免费高清在线 | 91中文字幕在线观看 | 精品国产福利第一区二区三区 | gogo人体大胆色妇 | 成人精品国产亚洲 | 91成人在线观看 | 亚洲综合在线最大成人 | 国产欧美视频综合二区 | 视频一区二区三区免费观看 | 亚洲啪在线 | 精品久久久久久国产91 | 成人福利视频网站 | 国产区高清 | 午夜精品视频 | 成年人视频在线 | 9299yy看片淫黄大片在线 | 亚洲精品在线影院 | 亚洲精品无码专区在线播放 | 日韩高清一区二区三区五区七区 | 日本一区免费看 | 色色视频免费网 | 国产精品第六页 | 911亚洲精品国内自产 | 欧美性视频在线 | 国产精品高清一区二区 |