1.1PHP语言标记、指令分隔符、注释

1、PHP开始和结束标志

       PHP用<?php表示起始,并以?>表示结束。大多数嵌入式脚本语言都是以这样的模式嵌入到HTML中,例如CSS、ASP、JSP、JS等。
       PHP解析一个文件时,会寻找开始和结束标志,告诉PHP开始和停止解释其中的代码。当PHP碰到结束标志时,会简单的将其后的内容原样输出,所以一个HTML文档中可以嵌入任意多个PHP标志。

##下边内容不重要,了解即可。
       除了上述PHP开始和结束标志外,还<? ?><% %><script language="php"></script>等,在页面中嵌入存变量时,还可以用<?=$name ?>,另外<?php ?><script language="php"></script>总是可用的,其他的可以在php.ini中打开开关。
值得注意的是:
1、在php.ini中开启asp_tags,才能使用。<% %>在php7中已不再支持,不建议使用。
2、<? ?>会干扰XML文档声明,一般是禁用的,可以在php.ini中开启short_open_tag配置,或者在php编译时加入–short_open_tag选项后才可以使用。不建议使用。
3、强烈建议使用标准的<?php ?>开始结束标志。
4、只含有php脚本的文件,不允许结束标志?>存在,这样做可以防止结尾被意外注入,从而导致当使用header()、setCookie()、session_start()等设置头信息的函数是发生失败。原因:当一个php文件加载另一个php文件时,如果该文件的结束标志?>后边含有空格“ ”,那么在加载该文件后边使用设置头信息的函数会发生错误。因为这些函数不允许前面出现空格。另外这些含有结尾标志的脚本,会原样输出结束标志?>后边的空格。
PHP标记内的空格,解释时会自动忽略。
eg:
文件a.php

<?php
// anycode here
?>
[回车]
[回车]

文件b.php

<?php
ob_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指令,后面一定要加上分号表示结束


3、程序注释
       注释在程序设计中是相当重要的一部分。注释的内容会被Web服务器引擎忽略不会被解释执行。注释一定要写在代码上边或者右边,千万不要写在代码的后边。
1)注释的作用:
①说明代码的作用,给阅读提供帮助,不管是自己还是他人,方便日后的维护。
②注释当时觉得不合适的代码,便于以后想使用时,打开注释即可
③用于调试
2)注释分类:
①单行注释。主要有两种,分别是“//”和“#”。
②多行注释。以“/*"开始和“*/”结束。多行注释无法嵌套多行注释,但是单行注释和多行注释是可以互相包含的。
eg1:
下面就是多行注释嵌套多行注释的错误示例。

 <?php
	 /*
	 echo 123;/*在多行注释里边嵌套多行注释是不行的*/
	 */

3)注释注意事项
注释只会注释掉结束标志之前的内容,不会注释掉结束标志“?>”
eg:
下边"?>"不会被注释掉

<?php
	echo 123;
//?>

4)规范注释
PHPDocumentor工具,会促使你规范注释,对已有的规范注释可以快速生成具有相互参照,索引等功能的API文档。多行注释一般使用"/**"开始“*/”结束。我们常见的注释中有@param大概也是因为该工具,尽管你没有使用该工具。
eg:
规范的多行注释

<?php
	/**
     * 设置当前请求的调度信息
     * @access public
     * @param array|string  $dispatch 调度信息
     * @param string        $type 调度类型
     * @return void
     */
    public static function dispatch($dispatch, $type = 'module'){
	     ...
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章