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

简介: 以<?php开始和以 ?>结束的标记是标准风格的标记,属于xml风格,这也是PHP推荐使用的标记形式,服务器管理员不能禁用这种风格的标记,如果将PHP嵌入到XML或者XHTML中,则需要使用<?php?>以保证符合标准,如果没有特殊要求,在开发过程中一般默认使用此风格.以<script language="php">开始和以</script>结束是长风格标记,这种标记是最长的,这种用法就是javascript和vbscript等脚本语言的写法,如果你使用的html编辑器无法使用其他风格的标记可以使用这个标记来界定PHP代码,不过这在日常开发中是比较少用的.以<?开始和以?>结束的标记是最简

前言

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代码段中的最后一行可以不用分号结束,如后面还有新行,那么代码段的结束标记包含了行结束

<?phpecho"你好,这是一句完整的话";
echo'<br>';
?><?phpecho"你好,这是一句完整的话"?>

网络异常,图片无法展示
|

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

<?phpecho"你好,这是一句完整的话"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文档中.案例如下:

<?phpclassPerson{
public$name;
publicfunctionsay(){
echo$this->name . "say hello";
  }
}
interfaceBody{
publicfunctionwrite();
}
interfaceBody2{
publicfunctiontake();
}
classStudentextendsPersonimplementsBody,Body2 {
public$name;
public$grade;
publicfunctionsay(){
echo$this->name . "说他的数学成绩是:". $this->name ;
  }
/**写作业方法@param string $subject    学科名称@return mixed       方法返回值*/publicfunctionwrite($subject="数学"){
echo$this->name . "正在写" .$subject. "作业!";
  }
publicfunctiontake(){
echo$this->name . "拿着一本书.";
  }
}

程序中的空白处理

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

  1. 应该使用两个空行的情况:
  2. 一个源文件的两个代码段之间
  3. 两个类的声明之间
  4. 总是使用一个空行
  5. 两个函数声明之间
  6. 函数内的局部变量和函数的第一条语句之间
  7. 块注释或单行注释之前
  8. 一个函数内的两个逻辑代码段之间,用来提高代码可读性
  9. 空格的应用于关键字与括号之间,不过序要注意的是,函数名称与左括号之间不应该用空格分开:
  10. 一般在函数的参数列表中的逗号后面插入空格
  11. 数学算式的操作与运算符之间应该添加空格(二进制运算与一元运算符除外)
  12. for语句中的表达式应该用逗号分开,后面添加空格
  13. 强制类型转换语句中的强制类型的右括号与表达式之间应该用逗号隔开,并添加空格

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

目录
相关文章
|
2月前
|
弹性计算 监控 网络安全
如何轻松使用AWS Web应用程序防火墙?
AWS WAF是Web应用防火墙,可防护常见网络攻击。通过创建Web ACL并设置规则,保护CloudFront、API网关、负载均衡器等资源。支持自定义规则与OWASP预定义规则集,结合CloudWatch实现监控日志,提升应用安全性和稳定性。
|
安全 JavaScript 前端开发
AppSpider 7.5.020 发布 - Web 应用程序安全测试
AppSpider 7.5.020 for Windows - Web 应用程序安全测试
77 0
|
2月前
|
存储 安全 Java
如何在 Spring Web 应用程序中使用 @SessionScope 和 @RequestScope
Spring框架中的`@SessionScope`和`@RequestScope`注解用于管理Web应用中的状态。`@SessionScope`绑定HTTP会话生命周期,适用于用户特定数据,如购物车;`@RequestScope`限定于单个请求,适合无状态、线程安全的操作,如日志记录。合理选择作用域能提升应用性能与可维护性。
145 1
|
5月前
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
241 1
|
7月前
|
安全 测试技术 Linux
Acunetix v25.4 发布 - Web 应用程序安全测试
Acunetix v25.4 (Linux, Windows) - Web 应用程序安全测试
229 3
Acunetix v25.4 发布 - Web 应用程序安全测试
|
6月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
145 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
9月前
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
163 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
8月前
|
自然语言处理 安全 测试技术
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
565 0
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
|
1月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
222 5
|
5月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!