马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。 PHP撑持内嵌HTML的, 那末关于PHP文件中, PHP标签外的HTML会怎样处置呢? 它和直接输入HTML有甚么区分么?
PHP供应了一个毛病克制符’@', 它是经由过程甚么体例来禁止毛病输入呢? 我又该在甚么时分利用它呢?
这是这俩天一些网友提到的配合成绩, 明天就索性全体回覆下, 备后来人翻阅.
PHP文件内嵌HTML的处置体例
在PHP中, 一切在标签外的字符, 在词法剖析过程当中, 城市翻译成T_INLINE_HTML token, 在语法剖析的时分, 一切的T_INLIE_HTML城市被分派ZEND_ECHO输入.
也就是说:
- <?php
- while($con) {
- ?>
- laruence
- }
- ?>
会生成一条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
- }
- ?>
下面的代码中, 标签外有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于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。 |