写点什么

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

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

    阅读完需:约 14 分钟

前言

PHP ( Hypertext Preprocessor,超文本预处理器)是一种被广泛应用开放源代码、多用途、运行在服务器端的脚本语言。在上一篇文章《【web 开发基础】php 开发基础快速入门 (1)-PHP 介绍及开发环境快速安装和基本使用介绍》中,我们介绍了 PHP 的优势和 PHP 集成开发环境的简单搭建以及浅尝了一下 PHP 代码的编写,写了一个 hello world 的程序。本文接着继续介绍 PHP 的相关语法。


上一篇文章中我们了解到 PHP 可简单地视为和较流行的开发动态网页用的程序语言,PHP 是 web 开发的重要构件,是服务器端嵌入到 HTML 中的脚本语言。下面我们展开来唠唠其中的相关内容:

服务器端语言

开发 Web 应用这种 B/S 结构的软件,不仅需要有编写客户端界面的语言,还要有编写服务器端业务流程的语言。例如,编写界面使用的 HTML、css 和 JavaScript 都是在用户通过前端交互发出请求后,服务器再将代码发送到客户端,并在客户端自己计算机的浏览器中解析执行的程序。而 PHP 则是服务器端运行的语言,只能在服务器端运行,而不会传到客户端。在 PHP 代码中如果有对文件之类的操作,可以都是操作服务器上的文件,PHP 获取的时间也只能是服务器上的时间。只有当用户请求时才开始运行,并且有多少请求,PHP 程序就会在服务器中运行多少次。然后 PHP 根据不同用户的不同请求,完成在服务器中的业务操作,并将结果返回给用户,最终渲染到浏览器上


PHP 是可以嵌入到 HTML 中的语言

在 HTML 代码中可以通过一些特殊的标识符号将各式各样的语言嵌入进来。例如:css、Javascript 都可以嵌入到 HTML 中,配合 HTML 一起完成一些 HTML 完成不了的功能,或者说是对 HTML 语言的扩展,而它们都是由浏览器解析的。PHP 程序虽然也可以通过特殊的标识符号嵌入到 HTML 代码中的,但和 CSS 或 JavaScript 不同的是, 在 HTML 中嵌入的 PHP 代码需要在服务器中先运行完成。如果执行后有输出,则输出的结果字符串会嵌入到原来的 PHP 代码处,再和 HTML 代码一起响应给客户端浏览器去解析。这也说明 PHP 是个服务器端语言

如下面的代码:

<!DOCTYPE html><html><head><meta charset="utf-8"><title>PHP基础</title></head><body>    <h1><?php echo "我的标题";?></h1>    <p>我的第一个段落。</p></body></html>
复制代码

脚本语言

脚本语言,又称动态语言,脚本通常以文本形式(如 ASCII)保存,只在被调用时进行解释或编译。PHP 程序就是以文本格式保存在服务器端的,在请求时才由 Web 服务器中安装的 PHP 应用模块解析,并从上到下一步步地执行

注:PHP 程序一定是以<?php 开头,以?>结尾,把你的 PHP 代码放在开始符号和结束符号中间,如上面的例子,如果你设置开启了 PHP 的短标签(short_tag)则可以写成<? echo "我的标题"; ?>或者<?="我的标题"; ?>,可以把开始符号的<?php 中的 PHP 省略掉写成:<?


PHP 能做什么?

术语有专攻,那 PHP 都能做些什么呢,或者说能用于什么功能或项目的开发。PHP 需要安装 PHP 应用程序服务器去解释执行,是用来协助 web 服务器工作的编程语言,也可以说是对 web 服务器功能的扩展,并外挂在 web 服务器上一起工作的。用户如果通过浏览器访问 web 服务器需要得到动态响应的结果,Web 服务器就要委托 php 脚本编程语言来完成。下面就简单罗列 PHP 能够做事:

1.收集表单

表单是网络编程中最常用的数据输入界面程序.表单通常可以在提交是使用 GET 或者 POST 方式将数据发送给 PHP 脚本程序处理,或存入数据库,如我们经常见到的调查问卷,注册,登录都是表单形式

2.生成动态网页

PHP 脚本程序和客户端的 javascript 脚本程序不同的是,PHP 代码是运行在服务器端的 PHP 脚本程序可以根据用户在客户端的不同输入请求,在服务端运行该脚本之后,动态输出用户请求的内容.这样用户就能接收到想得到的结果,但无法知道其背后的代码是如何运作的.甚至可以将 web 服务器设置成让 PHP 来处理所有的 html 文件,这样用户就无法得知服务器端到底做了什么

3.字符串处理

在编写程序代码或是进行文本处理时,经常需要操作字符串,所以字符串处理一直是程序员使用最多的技术之一.PHP 是把字符串作为一种基本数据类型来处理的.在 PHP 中提供了丰富的字符串处理函数,并使用强大的正则表达式来对字符串或文本进行搜索,查找,匹配,替换等操作

4.动态输出图像

使用 PHP 并不局限于输出 HTML 文本.PHP 可以通过 GD 扩展库动态输出图像,甚至可编辑图像

5.服务器端文件系统操作

想让数据持久化,也就是长久保留,可以使用数据库或是文件系统来存取数据,在某些存取数据简单,或者一些特定应用中,没有必要使用数据库,就可以使用文件来保存和操作数据,PHP 可以对文件和文件目录进行打开,编辑,查看,复制,删除等等操作

6.操作数据库

PHP 最强大最显著的特性之一是它支持多种的数据库的操作。特别是跟 PHP 的无缝结合,而且用法极其简单

7.会话跟踪控制

我们访问 Web 服务器通常是使用 HTTP 协议完成的,但它是一个无状态的协议,没有一个内建机制期来维护两个事务之间的状态。也就是说当一个用户在请求一个页面后再请来控制功能时 HTTP 将无法告诉我们这两个请求是来自同一个用户。所以可以在 PHP 中使用会话网站中跟踪一个用户,这样就可以很容易地做到用户登录的支持,并根据某个用户的授权级别和个人喜好显示相应的内容,也可以根据会话控制记录该用户的行为。

8.处理 XML 文件

PHP 具有极其有效的文本处理特性,支持从 POSIX 扩展或者 Perl 正则表达式到 XML 文档解析。为了解析和访问 XML 文档,PHP 4 支持 SAX 和 DOM 标准,也可以使用 XSLT 扩展库来转换 XML 文档。PHP 5 基于强健的 libxm2 标准化了所有的 XML 扩展,并添加了 SimpleXML 和 XMLReader 的支持,扩展了其在 XML 方面的功能

9.支持利用大量的网络协议

PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、 POP3、HTTP、COM ( Windows 环境)等不计其数的协议的服务。还可以开放原始网络端口,使得与任何其他的协议能够协同工作。PHP 支持和所有 Web 开发语言之间的 WDDX 复杂数据交换。关于相互连接,PHP 已经支持了对 Java 对象的即时连接,并且可以将它们自由地用作 PHP 对象。甚至可以用 CORBA 扩展库来访问远程对象。

10.服务器端的其他相关操作

PHP 是跨平台的,他能够应用于各种主流和非主流操作系统.如:windows,linux 以及 linux 各种发行版,unix 以及 unix 各种变形.他能够结合 Apache,Nginx,IIS,PWS 等等各种 web 服务器


PHP 的程序基本语法

PHP 代码可以单独编写运行,然后再渲染到前端,如一下代码:

<!DOCTYPE html><html><head><meta charset="utf-8"><title>PHP基础</title></head><body>    <h1><?php echo "我的标题";?></h1>    <p>我的第一个段落。</p>    <div>这是一个div标签</div>    <div>		<table border="1">			<tr>				<td>表格1</td>				<td>表格1</td>				<td>表格1</td>			</tr>			<tr>				<td>表格1</td>				<td>表格1</td>				<td>表格1</td>			</tr>		</table>	</div>    <span>这是一个span标签</span></body></html>
复制代码

运行结果如下:

在 PHP 中还可以嵌入 html 代码中输出并执行 javascript 代码,这就是 PHP 的灵活性

<!DOCTYPE html><html><head><meta charset="utf-8"><title>PHP基础</title></head><body>    <h1><?php echo "我的标题";?></h1>    <p>我的第一个段落。</p>	<?php		echo "<script>alert('你好,我会javascript脚本');</script>";	?></body></html>
复制代码

刷新浏览器之后,执行代码效果如下:


使用 PHP 输出控制 html 标签的输出

<!DOCTYPE html><html><head><meta charset="utf-8"><title>PHP基础</title></head><body>    <h1><?php echo "我的标题";?></h1>    <p>我的第一个段落。</p>	<?php		$a =5;		if($a>1){	?>	 <p>控制html内容输出1</p>	<?php		}	?>		<?php		if($a<3){	?>	 <p>控制html内容输出2</p><!--这个在页面是不会显示的-->	<?php		}	?></body></html>
复制代码

在 PHP 中,变量都是以 $符合开头,如 $age =18;以分号结束一句代码,跟大多编程语言一样,都是以';'分号结束,不像 Python,Python 是以缩进层级来区分不同行的代码,没有结束符号

执行结果:

使用循环输出多个 html 标,减少重复 html 代码的书写

<!DOCTYPE html><html><head><meta charset="utf-8"><title>PHP基础</title></head><body>    <h1><?php echo "循环控制输出html";?></h1>	<?php		$a =5;		for(;$a>=1;$a--){	?>	 <p>控制html内容输出1</p>	<?php		}	?>	<hr>	<?php		$b =0;	?>		<?php for(;$b<=5;$b++):?>	 <p style="color:#f00;">控制html内容输出2</p>	<?php endfor;?></body></html>
复制代码

执行结果如下:

使用 PHP 控制 html 输出以及控制 css 样式

<!DOCTYPE html><html><head><meta charset="utf-8"><title>PHP基础</title></head><body>    <h1><?php echo "<span style='font-size:18px;color:#0f0;'>控制输出html";?></h1>		<?php		$b =0;	?>		<?php for(;$b<=5;$b++):?>	 <p style="<?if($b%2==0):?>color:#f00;<?else:?>color:#0ff;<?endif;?>">控制html内容输出2</p>	<?php endfor;?></body></html>
复制代码

短短几行代码就可以控制 html 代码样式和输出,有时候比 js 还好用

PHP 中类的定义

PHP 是一们面向对象的语言,拥有面向对象所以特性,所以当然可以使用面向对象的模式来编写代码.php 是单继承。php 是不支持多继承的,但是 php 可以通过使用 interface 或者 trait 实现多继承,如【interface test1 {public function connect();}interface test2 ...】

代码如下:PHP 的 class 的定义跟 java 语言差不多.

<?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 ; } public function write(){ echo $this->name . "正在写作业!"; } public function take(){ echo $this->name . "拿着一本书."; }}
$stu = new Student();$stu->name = '张三';$stu->grade = 100;$stu->say();echo '<br>';$stu->write();echo '<br>';$stu->take();
?>
复制代码

执行结果如下:

在 PHP 中,字符串之间的连接符是点'.'(英文的点)如:echo "张"."三";输出的结果就是:张三

本文对 PHP 的基本语法介绍就到到这里,想了解更多的关于 PHP 相关的请听下回分解!


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

迷彩

关注

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

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

评论

发布
暂无评论
【web 开发基础】php 开发基础快速入门 (2)-PHP的程序开发_php开源_迷彩_InfoQ写作社区