第1章 PHP的基本语法
第1节 搭建集成环境
大家好,欢迎回到极客学院。从这堂课开始,我们将进入php的部分。今天是我们php的第一堂课,我们将讲一下php的基本语法。首先呢,我们先看一下,这堂课讲哪些知识点。
- 如何搭建集成环境
- PHP在WEB开发中的应用
- PHP基础语法
- 变量
- 变量的类型
- 常量
其中,第一个可执行文件就是我们需要的。使用说明和官网的url我们都不管。安装的时候只需要双击它然后点是。
你的电脑可能没有提示框,直接进到现在的状态。
然后选了你安装的位置,默认安装到d盘。按理说你们的电脑里都有d盘,但是我的电脑没有d盘,只有c盘,因为我这个是虚拟机。所以我就改成c,你们是可以不用改的,直接安装到d盘就行。
我们有几种服务,实际上,我们只需要启动前两个。第一个,我们要启动apache,这个是支持我们php来运行的。实际上,在我们学习php的前半过程中,我们只需要启动它就OK了。第二个是mysql的模块,一般我们也要把它启动。
然后我们再了解一下这个软件。还需要知道php的切换(鼠标位置),这里切换的是版本。
现在默认的是5.3.29,另外一个我们要知道的是这排按钮是config(鼠标位置),是配置文件。
有时候我们加一些组件的时候,需要到配置文件里去设置。通常我们要配置的是php和一些apache的配置,其他的我们都不用管。然后我们就知道用配置的时候,一单击它,就弹出php配置了。
配置以后我们讲到的时候会说一下,我们不是运维人员,很少去改动它的配置,除非我们要加功能或组件。还有一些其他工具我们要知道,其中使用最多的是mysql命令行(鼠标位置)。
我们以后要学习mysql的时候,从里面直接敲一些语句或命令来使用。现在先放到这里。其他的你可以自己浏览一下,比如网络状态等等。现在apache启动了,支持php。现在看一下php信息,php信息实际上可以通过一个函数,phpinfo来显示。实际上phpinfo应该安装完环境之后就会作为一个默认的页面来显示。我们看下如何通过我们的环境去访问我们的一些脚本文件。切换到桌面,随便打开一个浏览器。有两种访问手段,第一个是localhost,然后回车。我们可以看到这就是phpinfo,也就是php信息。
现在我们使用的php版本是5.6.16。下面还有很多信息,这些信息是php所支持的一些东西。比如我们以后学习memcache的时候,也要给php加一个memcache的扩展类库。这里还会显示一些memcache的信息。如果我们见到这个页面,就证明我们成功了。还有一种访问手段是127.0.0.1,实际上它是通过网络去访问的,虽然它代表本机的网卡地址。一样的,也是这个页面。
另外我们要知道,以后写脚本文件要写到哪里。我们切换回桌面,这里的www目录是我们常用的,就是脚本文件地址。
但是你的桌面上可能没有,因为我建立的这个www目录是快捷方式,实际真名是htdocs。我们找一下目录在哪。刚才我把xmphp装到了c盘,所以我们要打开c盘,然后找到安装位置,xampp,进去找到一个目录叫htdocs。
这里就是我们的文档目录,这些就是我们以前学习的一些代码。这里有个index.php。
实际就是刚才访问的phpinfo文件,代码只有这么多,就是个phpinfo函数。
那我们如何测试一下其他的php代码是否管用,新建个php文档,写一个hello.php,然后编辑它。这里我先不做解释,输出hello php,然后运行一下。
运行还需要通过浏览器去打开它。打开浏览器,用localhost访问的是index.php, 继续输入hello.php。
就能看到这个页面中有hello php,证明环境已经安装成功了,apache服务也已经启动了。
这节课知识就这么多,把集成环境搭建起来,也就是我们的学习环境。以后我们还会学习lamp环境搭建,lamp环境才是我们的网站上线环境,下节课继续学习。
第2节 PHP在WEB开发中的应用
首先看一下这节课的内容:
- PHP是什么
- PHP在WEB中的功能
- PHP的特点
- 第一个PHP脚本
第一个知识点,PHP是什么?中文名是超文本预处理器,是英文单词Hypertext Preprocessor的缩写。PHP是一种在服务端执行的嵌入HTML文档的脚本语言,HTML可以嵌入css和js。同样,也可以嵌入PHP。可能有人问,HTML是前段的脚本语言,为什么PHP可以嵌入。其实我们不管他是前端还是后端,总之它是需要从我们的服务器发送给客户端,而HTML是存储在服务器上的,并且在服务器上的时候,他只当成一个普通的文本去处理,并不会经过编译解析,而里面的php代码还会经过php编译器进行编译处理,然后把这些代码当成一个普通的文本串发送给客户端。这时候客户端接收到html代码之后,用浏览器再进行解释。PHP是目前最流行的网站开发语言,是B/S结构。而且PHP在当前网站开发中,占很大的百分比。很多网站都是PHP开发的,或者说几乎知名的网站都会用PHP。PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。如果你有一些这些语言的基础,会发现学php基本语法特别的快,因为它们比较相似,再加上一些php自创的语法,就学会了。实际上很多语言的基本语法都是相同的,除了极个别的。另外php几乎支持所有流行的数据库及操作系统。比如市面上流行的数据库php都能操作,并且php能运行在所有的操作系统之上。再看一下,php在web开发中的功能,这里是一个图。首先我们的用户,也就是Internet使用者,经过我们的web服务器,可以有这些主要应用:
- 收集表单数据,比如用户的注册,用户的登录也是收集,修改个人资料也是收集
- 生成***页,只写一个文章的内容页,可以生成很多的文章内容,可以生成很多篇文章
- 字符串处理,是所有语言都有的
- 动态输出图像,也是我们常见的,比如验证码就是一个图片,这个图片是由php动态生成,用户输入后再对比是否正确
- 服务器端文件系统操作,比如删除、修改服务器上的文件
- 编写数据库支持的网页,现在***站都需要支持数据库,php也支持数据库,所以就能编写数据库支持的网页
- 会话跟踪控制,因为我们使用的是http协议,是一个无状态协议,如果用户登录之后,没有会话跟踪控制,就记录不了它的状态,就不能保持它一直登录
- 处理XML文件,最常用的是微信公共平台的开发,返回的数据格式就是xml。其实xml看起来和html看起来都差不多,都是有父子关系的,只是标签是自定义的。比如段落标签,p标签都有明确定义,但是xml的段落标签自己写拼音也ok。
- 支持利用大量的网络协议。最主要的还是http协议,或者安全性高的https协议。还支持ftp协议等等大量的网络协议,http都会支持。
- 服务器端的其他相关操作。其他的比较小的不重要的。
从这些可以看到php开发的功能有哪些,以后都会接触。
下一个知识点:php的特点
- 是开放源代码的,免费的,不需要花钱买授权。并且是运行在服务器端的脚本语言,不需要编译。比如c, java需要编译才能运行。php不需要,可直接运行,实际上,也有编译过程,只是这个过程是随着每次运行进行编译,而不是一次编译,以后都不需要了。
- 独立于操作系统,可运行在几乎所有系统中。比如windows,linux,unix甚至比如其他一些嵌入式系统,都是可以使用的
- 支持大部分服务器如apache和iis,这两个是比较典型的。apache是php的主要环境,IIS主要是微软的。
- 支持大量的数据库。市面上几乎所有的数据库,php都可以操作,配合最好的是mysql,因为mysql也是免费的。其他的例如oracle也都是可以操作的
- 可以创建图像。可以做验证码、图像的剪切复制甚至加水印都是没问题的。
- 其他的功能在高级课中会详细介绍,我们现在知道这些特点简单了解一下就行。
接下来我们就建立第一个php脚本,试一下它是如何嵌入到html中并且运行。打开我们的环境,建立个快捷方式,www目录
第一个php文件夹就叫first.php,后缀名一定是.php
然后编辑它,写上标签,设置字符编码,然后title写上这是第一个php程序。然后体标签,里面写上h1标签,里面是php标签,输出echo,输出内容是这是第一个php程序,实际上我们现在有一个原来我们经常写的html页面,里面嵌入php代码。
我们看下如何运行。直接双击肯定不行,需要用浏览器打开,打开就会访问到服务端,就是xampp。这里已经运行了,就不用管了。
直接打开浏览器,输入127.0.0.1,进入到的是我们的index/文件夹名/,单击first.php,就是访问我们的php脚本语言正确方式。就是通过我们的服务端解析之后的,这样第一个php程序就成功了。
然后右键可以查看一下网页源代码,这里是看不到php代码的,因为代码被处理好发给用户的就是一串字符串,是处理好的。
第3节 PHP基础语法
- PHP语言标记
- PHP嵌入HTML位置
- 指令分隔符“分号”
- 程序注释
- 在程序中使用空白
- 我们常用也是推荐使用的<?php ?>。在这对标记之间写php的代码,<?php PHP的代码 ?>这个也是我们最常使用的,这个一定要记住
- 简写方式,<? ?>。这个了解即可,是简写格式,有可能运维在配置环境的时候把这种方式禁用,不一定能使用
- <% %>,仿照ASP所写的,为什么仿照呢?因为最开始PHP的市场份额很小,主流开发web的语言是ASP,所以PHP就用这种模仿ASP的方式去让程序员感觉PHP和ASP很像,就可以让ASP程序员有一定的兴趣学习PHP,当然,现在已经不使用了
- 长风格,<script language="php" > </script>,是用script的标签,也是很少使用了,这种写法非常麻烦,但是服务端肯定会支持这种风格,但是我们并不会使用
- 嵌入到head标签中的title标题的内部,这里是没有问题
- 嵌入到我们body标签的内部,在标签例写php代码,这里是输出了一个背景颜色和一个灰色,这样也是可以使用的
- 直接在我们html页面里直接使用,这里每一句php代码都加上了PHP标记。表达式是一个expression,我们先不用管if($expression)是什么意思,如果成立就会执行下面这一行,p标签,align,居中,这是真的。如果条件不成立,就会输出下面的p标签this is false。
- //... ...单行注释
- /*... ...*/多行注释,可以写多行,不能嵌套,多行中不能再有多行注释
- #... ... 脚本注释,通常写在配置文件中,在正常的php页面中不应该有这种脚本注释