PHP填坑——标记
测试环境
PHP version 5.3.29/5.6.29/7.1.0
Apache 2.4.25
PHP标记的作用
当解析一个文件时,PHP 会寻找起始和结束标记,也就是
变更日志
自 PHP 7.0.0 起,已经移除 ASP 标记
<%, %>, <%=
和 script标记<script language="php" >
;自 PHP 5.4 起,短格式的 echo 标记
<?=
总会被合法识别,而不管 short_open_tag 设置的是on还是off。
开始标记<?php
后应该有空白
这里的空白指的是换行、回车、tab、空格、
Example-1
标记可分离
标记分离适用于PHP和HTML混编的代码中
Example-2
<?php for ($i = 0; $i < 5; ++$i): ?>
Hello, there!
<?php endfor; ?>
结束标记?>
在//
单行注释中
结束标记
?>
在//单行注释中会退出php模式,并返回html模式
Example-3
<?php
// $file_contents = '<?php die(); ?>' . "\n";
?>
//会输出' . "\n"; ?>
//解决办法是使用 /**/块注释,或者使用字符串拼接标记
<?php
$file_contents = '<' . '?php die(); ?' . '>' . "\n";
?>