前言
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代码可以单独编写运行,然后再渲染到前端,如一下代码:
<html><head><metacharset="utf-8"><title>PHP基础</title></head><body><h1>echo"我的标题";</h1><p>我的第一个段落。</p><div>这是一个div标签</div><div><tableborder="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的灵活性
<html><head><metacharset="utf-8"><title>PHP基础</title></head><body><h1>echo"我的标题";</h1><p>我的第一个段落。</p>echo"<script>alert('你好,我会javascript脚本');</script>"; </body></html>
刷新浏览器之后,执行代码效果如下:
使用PHP输出控制html标签的输出
<html><head><metacharset="utf-8"><title>PHP基础</title></head><body><h1>echo"我的标题";</h1><p>我的第一个段落。</p>$a=5; if($a>1){ <p>控制html内容输出1</p> } if($a<3){ <p>控制html内容输出2</p><!--这个在页面是不会显示的--> } </body></html>
在PHP中,变量都是以$符合开头,如$age =18;以分号结束一句代码,跟大多编程语言一样,都是以';'分号结束,不像Python,Python是以缩进层级来区分不同行的代码,没有结束符号
执行结果:
使用循环输出多个html标,减少重复html代码的书写
<html><head><metacharset="utf-8"><title>PHP基础</title></head><body><h1>echo"循环控制输出html";</h1>$a=5; for(;$a>=1;$a--){ <p>控制html内容输出1</p> } <hr>$b=0; for(;$b<=5;$b++):<pstyle="color:#f00;">控制html内容输出2</p>endfor;</body></html>
执行结果如下:
使用PHP控制html输出以及控制css样式
<html><head><metacharset="utf-8"><title>PHP基础</title></head><body><h1>echo"<span style='font-size:18px;color:#0f0;'>控制输出html";</h1>$b=0; for(;$b<=5;$b++):<pstyle=" ($b%2==0):color:#f00; :color:#0ff; ;">控制html内容输出2</p>endfor;</body></html>
短短几行代码就可以控制html代码样式和输出,有时候比js还好用
PHP中类的定义
PHP是一们面向对象的语言,拥有面向对象所以特性,所以当然可以使用面向对象的模式来编写代码.php是单继承。php是不支持多继承的,但是php可以通过使用interface或者trait实现多继承,如【interface test1 {public function connect();}interface test2 ...】
代码如下:PHP的class的定义跟java语言差不多.
classPerson{ public$name; publicfunctionsay(){ echo$this->name . "say hello"; } } interfaceBody{ publicfunctionwrite(); } interfaceBody2{ publicfunctiontake(); } classStudentextendsPersonimplementsBody,Body2 { public$name; public$grade; publicfunctionsay(){ echo$this->name . "说他的数学成绩是:". $this->name ; } publicfunctionwrite(){ echo$this->name . "正在写作业!"; } publicfunctiontake(){ echo$this->name . "拿着一本书."; } } $stu=newStudent(); $stu->name='张三'; $stu->grade=100; $stu->say(); echo'<br>'; $stu->write(); echo'<br>'; $stu->take();
执行结果如下:
在PHP中,字符串之间的连接符是点'.'(英文的点)如:echo "张"."三";输出的结果就是:张三
本文对PHP的基本语法介绍就到到这里,想了解更多的关于PHP相关的请听下回分解!