写点什么

【web 开发基础】php 开发基础快速入门 (3)-PHP 程序符号标记和程序注释的使用及空白符详解

作者:迷彩
  • 2022 年 9 月 29 日
    广东
  • 本文字数:3585 字

    阅读完需:约 12 分钟

前言

PHP 开发基础开速入门系列

  1. 【web 开发基础】php 开发基础快速入门 (1)-PHP 介绍及开发环境快速安装和基本使用介绍

  2. 【web 开发基础】php 开发基础快速入门 (2)-PHP 的程序开发

这是 PHP 开发基础快速入门的第三篇文章,前两篇文章介绍了 PHP 的大致用法,书接上回,之前的文章对 PHP 的开始结束标记有过简单描述,这次详细唠唠 PHP 的标记相关知识以及程序注释等内容

PHP 程序开始和结束标记

当脚本中有 PHP 代码时,可以使用<?php ?>,<? ?>,<%%>,<script language="php"></script>等标记来界定 PHP 代码,在上篇文章中我说过,PHP 是可以嵌入到 html 页面中,当我们需要在 html 页面中嵌入纯变量时,我们可以使用<?=$value?>这种形式,其中<?php ?>和<script language="php"></script>总是可用的,另外两种是短标记和 ASP 风格标记,可以在 PHP 的配置文件 php.ini 中设置开启或者关闭.下面在代码中展示这 4 中风格代码的展示:

<!DOCTYPE html><html><head><meta charset="utf-8"><title>PHP基础3</title></head><body>    <h1><?php echo "<span style='font-size:18px;color:#0f0;'>PHP开始结束标记学习";?></h1>    <h1><?php echo "<span style='font-size:18px;color:#0f0;'>PHP代码可嵌入html";?></h1>		<?		$b =0;		echo "这是短< ? ? >标记使用<br>";	?>		<?="这是简写标记<br>"?>	<% echo "这是ASP风格的简写标记<br>"%><!--这个需要在php.ini中设置-->	<script language="php">	echo '这是script形式标记使用<br>'; //单双引号总是成双成对出现的,由于字符串内部已有双引号,外面必须单引号,避免代码混淆导致程序报错	</script></body></html>
复制代码

执行结果:

以<?php 开始和以 ?>结束的标记是标准风格的标记,属于 xml 风格,这也是 PHP 推荐使用的标记形式,服务器管理员不能禁用这种风格的标记,如果将 PHP 嵌入到 XML 或者 XHTML 中,则需要使用<?php?>以保证符合标准,如果没有特殊要求,在开发过程中一般默认使用此风格.


以<script language="php">开始和以</script>结束是长风格标记,这种标记是最长的,这种用法就是 javascript 和 vbscript 等脚本语言的写法,如果你使用的 html 编辑器无法使用其他风格的标记可以使用这个标记来界定 PHP 代码,不过这在日常开发中是比较少用的.


以<?开始和以?>结束的标记是最简风格的标记,他遵循 SGML(标准通用置标语言)处理说明的风格.但是系统偶尔会禁用这种形式.因为他会干扰 XML 文档的声明.只有通过 php.ini 配置文件中的指令 short_open_tag 打开,或者在 PHP 编译时加入了--enable-short-tags 选项后才可用.


以<%开始和以 %>结束标记是 ASP 风格的标记,这种形式的标记很少会使用,通常也不推荐使用,如果需要使用可以在 php.ini 中配置开启 asp_tags 选项,设置为 On 即可使用它,这是为习惯了 ASP 或者 ASP.NET 的编程风格的人设计的.默认情况下是被禁用的,所以移植性也较差.


注:为了防止短标签<??>和<%%>与一些技术发生冲突,有时需要在 PHP 配置文件中将其关闭,所以这两个标记不是总是可用的.而且尽量不要多种标签混用,特别是其他标签和 asp 风格的标签混用,容易发生一些未知的问题.,推荐使用<?PHP?>这种完整的,标准的标记来界定 PHP 代码,对于只包含 PHP 代码的代码文件,结束标记?>是不允许存在的.因为 PHP 自身不需要 ?>来结束.这样做可以防止它的末尾被意外地注入,从而导致当使用 header(),setCookie(),session_start()等设置头信息的函数时发生错误

PHP 指令的代码分隔符:【;】

与 C、Perl 及 java 等大多数语言一样,PHP 语句分为两种:一种是在程序中使用结构定义语句,例如流程控制,函数定义,类的定义等,是用来定义程序结构使用的语句,在结构定义语句后面不能使用分号最为结束;另外一种是在程序中使用功能执行语句,比如:声明变量,内容的输出,函数的调用等,是用来在程序中执行某些特定功能的语句,这种语句也称为指令,PHP 需要在每条指令后用分号结束。就相当于我们写作文,说完一句话,写个句号,代表这句话说完了。一段 PHP 代码的结束标记?>隐含表示一个分号,所以在 PHP 代码段中的最后一行可以不用分号结束,如后面还有新行,那么代码段的结束标记包含了行结束

<?php	echo "你好,这是一句完整的话";	echo '<br>';?><?php	echo "你好,这是一句完整的话"?>
复制代码


像下面这段代码会因为少了分号结束符而报错:

<?php	echo "你好,这是一句完整的话"	echo '<br>';?>
复制代码

直接报语法错误:


PHP 中的程序注释

注释在程序设计中是很重要的一部分,严格意义上讲一份代码应该有一半的内容为注释内容。当然这说的有点夸张,如果命名规范,也可以减少注释,但是这也更说明了注释在代码中的重要性。注释内容会被 web 服务器引擎忽略,不会被执行。程序员在程序中书写注释是一种良好的习惯。

注释的作用

可以将写过的觉得不合适的代码暂时注释,不急于删除,如果再想使用,可以去掉注释符号,重新启用代码

  • 注释的主要目的在于说明程序,给自己或者阅读代码的团队小伙伴提供帮助,使程序更容易理解,增强代码的可读性,以方便维护人员后期的维护

  • 注释对调试程序和编写程序也可起到很好的帮助作用

  • php 支持 C/C++和 UNIX Shell 风格(perl 风格)的注释.PHP 的注释符号有三种:

  1. 以'/*'开头和'*/'闭合的多行注释符

  2. 以'#'和'//'开始的单行注释

注:注释符开始符号一定要写在被注释代码的上面或右边 不要写到代码下面:

<?php	/*	这是一个多	行为本注释	可以换行	*/	echo "你好,这是一句完整的话";	echo '<br>';?><?php    #这是一个当行注释    //这是一个当行注释	echo "你好,这是一句完整的话";?>
复制代码

如果我们代码被注释了不会被解释执行:

<?php    #这是一个当行注释    //这是一个当行注释	//echo "你好,这是一句完整的话";	/*	$a = 4;	if($a>5){		echo "数字大于5";	}	*/?>
复制代码

在使用行注释符号 #或者//之后到行结束前,或 PHP 结束标记?>或 %>之前所有内容都是注释内容,这意味着在//?>之后的 html 代码会被现实出来.?>跳出了 PHP 模式返回了 html 模式:

<h1><?php echo "<span style='font-size:18px;color:#0f0;'>PHP开始结束标记学习";//这是注释?>html内容</h1><h1><?php echo "<span style='font-size:18px;color:#0f0;'>PHP代码可嵌入html";//这是注释?>html内容2</h1>
复制代码

结果:


除了前面几种注释之外,还有一种常用的注释:多行文档注释(PHPDocumentor)这也是推荐使用的注释方法.PHPDocumentor 是一个用 PHP 脚本编写的工具,对于有规范注释的 PHP 程序,他能够快速生成具有相互参照,索引等功能的 API 文档.可以通过在客户端浏览器上操作生成文档,文档可以转换为 PDF,html,CHM 几种形式,非常方便.PHPDocumentor 是从源代码的注释中生成文档,因为给程序做注释的过程,也就是编制文档的过程.这也可以促使程序员要养成良好的编程习惯,尽量使用规范,清洗的文字为程序做注释,同时也避免时候编制文档和文档的更新不同步等问题.在 PHPDocumentor 中,注释分为文档性注释和非文档性注释,所谓文档注释,是指那些放在特定关键字前面的多行注释,特定关键字是指能够被 PHPDocumentor 分析的关键字,比如 class,var 等,那些没哟在关键字前面或者不规范的注释就成为非文档性注释,这些注释将不会被 PHPDocumentor 所分析,也不会在产生的 API 文档中.案例如下:

<?phpclass Person{	public $name;		public function say(){		echo $this->name . "say hello";	}}
interface Body{ public function write();}
interface Body2{ public function take();}
class Student extends Person implements Body,Body2 { public $name; public $grade; public function say(){ echo $this->name . "说他的数学成绩是:". $this->name ; } /** 写作业方法 @param string $subject 学科名称 @return mixed 方法返回值 */ public function write($subject="数学"){ echo $this->name . "正在写" .$subject. "作业!"; } public function take(){ echo $this->name . "拿着一本书."; }}
复制代码


程序中的空白处理

通常空白符:包括空格/Tab 制表符/换行等在 PHP 中的无关紧要,会被 PHP 引擎忽略.可以将一个语句站开成任意行,或者将语句紧缩成一行.空格和空行的合理运用可以增强代码的清晰性和可以度性.但如果不合理运用将适得其反.空行将逻辑相关的代码段分隔开,以提高代码可读性:

  1. 应该使用两个空行的情况:

  2. 一个源文件的两个代码段之间

  3. 两个类的声明之间

  4. 总是使用一个空行

  5. 两个函数声明之间

  6. 函数内的局部变量和函数的第一条语句之间

  7. 块注释或单行注释之前

  8. 一个函数内的两个逻辑代码段之间,用来提高代码可读性

  9. 空格的应用于关键字与括号之间,不过序要注意的是,函数名称与左括号之间不应该用空格分开:

  10. 一般在函数的参数列表中的逗号后面插入空格

  11. 数学算式的操作与运算符之间应该添加空格(二进制运算与一元运算符除外)

  12. for 语句中的表达式应该用逗号分开,后面添加空格

  13. 强制类型转换语句中的强制类型的右括号与表达式之间应该用逗号隔开,并添加空格


万丈高楼平地起,学习任何一门语言基础知识总是少不了的.下次接着唠唠 PHP 中的变量相关的内容

发布于: 刚刚阅读数: 5
用户头像

迷彩

关注

我的工作是常年写bug|公众号:编程架构之美 2020.06.18 加入

修bug的菜鸟~公众号:“互联网有啥事”已改名为“编程架构之美”

评论

发布
暂无评论
【web 开发基础】php 开发基础快速入门 (3)-PHP程序符号标记和程序注释的使用及空白符详解_php开源_迷彩_InfoQ写作社区