PHP语言标记、指令分隔符、注释在php编写程序的时候起着重要的作用。
1、PHP开始和结束标志
PHP用?>表示结束。大多数嵌入式脚本语言都是以这样的模式嵌入到HTML中,例如CSS、ASP、JSP、JS等。
PHP解析一个文件时,会寻找开始和结束标志,告诉PHP开始和停止解释其中的代码。当PHP碰到结束标志时,会简单的将其后的内容原样输出,所以一个HTML文档中可以嵌入任意多个PHP标志。
##下边内容不重要,了解即可。
除了上述PHP开始和结束标志外,还、<% %>、<script language="php"></script>等,在页面中嵌入存变量时,还可以用,另外和<script language="php"></script>总是可用的,其他的可以在php.ini中打开开关。
值得注意的是:
1、在php.ini中开启asp_tags,才能使用。<% %>在php7中已不再支持,不建议使用。
2、会干扰XML文档声明,一般是禁用的,可以在php.ini中开启short_open_tag配置,或者在php编译时加入–short_open_tag选项后才可以使用。不建议使用。
3、强烈建议使用标准的开始结束标志。
4、只含有php脚本的文件,不允许结束标志?>存在,这样做可以防止结尾被意外注入,从而导致当使用header()、setCookie()、session_start()等设置头信息的函数是发生失败。原因:当一个php文件加载另一个php文件时,如果该文件的结束标志?>后边含有空格“
搞gaodaima代码
”,那么在加载该文件后边使用设置头信息的函数会发生错误。因为这些函数不允许前面出现空格。另外这些含有结尾标志的脚本,会原样输出结束标志?>后边的空格。
PHP标记内的空格,解释时会自动忽略。
eg:文件a.php <!--?php// anycode here?--> 文件b.php<!--?phpob_start();include_once 'a.php';$con = ob_get_contents();//此函数返回输出缓冲区的内容,或者如果输出缓冲区无效将返回FALSE 。ob_clean();var_dump($con)?-->
执行b.php文件会输出string(4) ” “。
2、指令分隔符分号
PHP每个指令后需要英文分号结束,php的结束标志?>隐含表示了一个分号,所以在一个php代码中的最后一行可以不用分号结束。
eg1:<!--?php echo "123"?--> //最后的结束标记隐含表示了一个分号,所以这里可以不用分号结束eg2:<!--?php echo "123"; //这是一个php指令,后面一定要加上分号表示结束</pre-->
3、程序注释
注释在程序设计中是相当重要的一部分。注释的内容会被Web服务器引擎忽略不会被解释执行。注释一定要写在代码上边或者右边,千万不要写在代码的后边。
1)注释的作用:
①说明代码的作用,给阅读提供帮助,不管是自己还是他人,方便日后的维护。
②注释当时觉得不合适的代码,便于以后想使用时,打开注释即可
③用于调试
2)注释分类:
①单行注释。主要有两种,分别是“//”和“#”。
②多行注释。以“/*“开始和“*/”结束。多行注释无法嵌套多行注释,但是单行注释和多行注释是可以互相包含的。
eg1:下面就是多行注释嵌套多行注释的错误示例。<!--?php /* echo 123;/*在多行注释里边嵌套多行注释是不行的*/ */</pre-->
3)注释注意事项
注释只会注释掉结束标志之前的内容,不会注释掉结束标志“?>”
eg:下边”?>”不会被注释掉<!--?php echo 123;//?-->
4)规范注释