第1章 PHP的基本语法

第1节 搭建集成环境

大家好,欢迎回到极客学院。从这堂课开始,我们将进入php的部分。今天是我们php的第一堂课,我们将讲一下php的基本语法。首先呢,我们先看一下,这堂课讲哪些知识点。

  1. 如何搭建集成环境
  2. PHP在WEB开发中的应用
  3. PHP基础语法
  4. 变量
  5. 变量的类型
  6. 常量
首先,我们看一下第一节课的内容,如何搭建集成环境。我们先直接切换出来。现在我们要使用的集成环境是xampp。是我新找的一个环境,它有最新的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开发中的应用

首先看一下这节课的内容:

  1. PHP是什么
  2. PHP在WEB中的功能
  3. PHP的特点
  4. 第一个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服务器,可以有这些主要应用:

  1. 收集表单数据,比如用户的注册,用户的登录也是收集,修改个人资料也是收集
  2. 生成***页,只写一个文章的内容页,可以生成很多的文章内容,可以生成很多篇文章
  3. 字符串处理,是所有语言都有的
  4. 动态输出图像,也是我们常见的,比如验证码就是一个图片,这个图片是由php动态生成,用户输入后再对比是否正确
  5. 服务器端文件系统操作,比如删除、修改服务器上的文件
  6. 编写数据库支持的网页,现在***站都需要支持数据库,php也支持数据库,所以就能编写数据库支持的网页
  7. 会话跟踪控制,因为我们使用的是http协议,是一个无状态协议,如果用户登录之后,没有会话跟踪控制,就记录不了它的状态,就不能保持它一直登录
  8. 处理XML文件,最常用的是微信公共平台的开发,返回的数据格式就是xml。其实xml看起来和html看起来都差不多,都是有父子关系的,只是标签是自定义的。比如段落标签,p标签都有明确定义,但是xml的段落标签自己写拼音也ok。
  9. 支持利用大量的网络协议。最主要的还是http协议,或者安全性高的https协议。还支持ftp协议等等大量的网络协议,http都会支持。
  10. 服务器端的其他相关操作。其他的比较小的不重要的。

从这些可以看到php开发的功能有哪些,以后都会接触。

下一个知识点:php的特点

  1. 是开放源代码的,免费的,不需要花钱买授权。并且是运行在服务器端的脚本语言,不需要编译。比如c, java需要编译才能运行。php不需要,可直接运行,实际上,也有编译过程,只是这个过程是随着每次运行进行编译,而不是一次编译,以后都不需要了。
  2. 独立于操作系统,可运行在几乎所有系统中。比如windows,linux,unix甚至比如其他一些嵌入式系统,都是可以使用的
  3. 支持大部分服务器如apache和iis,这两个是比较典型的。apache是php的主要环境,IIS主要是微软的。
  4. 支持大量的数据库。市面上几乎所有的数据库,php都可以操作,配合最好的是mysql,因为mysql也是免费的。其他的例如oracle也都是可以操作的
  5. 可以创建图像。可以做验证码、图像的剪切复制甚至加水印都是没问题的。
  6. 其他的功能在高级课中会详细介绍,我们现在知道这些特点简单了解一下就行。

接下来我们就建立第一个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基础语法

首先看下这节课的知识点:
  1. PHP语言标记
  2. PHP嵌入HTML位置
  3. 指令分隔符“分号”
  4. 程序注释
  5. 在程序中使用空白
首先看一下PHP语言标记有哪些?
  • 我们常用也是推荐使用的<?php    ?>。在这对标记之间写php的代码,<?php PHP的代码 ?>这个也是我们最常使用的,这个一定要记住
  • 简写方式,<?   ?>。这个了解即可,是简写格式,有可能运维在配置环境的时候把这种方式禁用,不一定能使用
  • <%   %>,仿照ASP所写的,为什么仿照呢?因为最开始PHP的市场份额很小,主流开发web的语言是ASP,所以PHP就用这种模仿ASP的方式去让程序员感觉PHP和ASP很像,就可以让ASP程序员有一定的兴趣学习PHP,当然,现在已经不使用了
  • 长风格,<script language="php" > </script>,是用script的标签,也是很少使用了,这种写法非常麻烦,但是服务端肯定会支持这种风格,但是我们并不会使用
记住我们在开发中只使用第一种风格,后面三种作为了解内容,那么我们继续往下看。

PHP嵌入HTML的位置

首先我们来看一段代码,我们看一下PHP都嵌入到哪些位置了?
  • 嵌入到head标签中的title标题的内部,这里是没有问题
  • 嵌入到我们body标签的内部,在标签例写php代码,这里是输出了一个背景颜色和一个灰色,这样也是可以使用的
  • 直接在我们html页面里直接使用,这里每一句php代码都加上了PHP标记。表达式是一个expression,我们先不用管if($expression)是什么意思,如果成立就会执行下面这一行,p标签,align,居中,这是真的。如果条件不成立,就会输出下面的p标签this is false。
通过这个例子我们可以知道php代码可以嵌入HTML中的任何一个位置,另外只要是php代码就必须用php标记包裹起来,不管在什么位置。哪怕是一个大括号也要包裹起来。就记住任何位置都是可以嵌入的。随着我们写的程序多了会熟练的应用。你现在可能觉得怎么这么乱呢,实际是写得少,等你写得程序多了,熟练这种方式了,就会觉得这样是ok的,没有问题的,并且你的思路也会很容易的转换。这个就是我们以后多做练习的时候就能熟练了。

再来看指令分隔符“分号”
什么是指令分隔符,就是PHP需要在每个指令后用分号结束,不能忽略,和JS不一样,JS虽然也是用分号结尾,但是它也可以不写,回车也可以作为指令的结束。但是php代码的后面要用分号结束,除了特殊的如if。

程序注释
程序的注释作用就不说了,在php中有三种注释,实际上比JS扩展了一种
  1. //... ...单行注释
  2. /*... ...*/多行注释,可以写多行,不能嵌套,多行中不能再有多行注释
  3. #... ... 脚本注释,通常写在配置文件中,在正常的php页面中不应该有这种脚本注释
另外我们需要知道php是服务端语言,我们写的这些注释就会在编译过程中被忽略,忽略后再发给用户,用户看不见程序里所写的这些注释。JS的注释用户会看见,但是PHP不会,会被忽略,用户看不到。

在程序中使用空白
和其他的语言一样,就是为了排版,现在演示一下。
建个文档,demo.php,然后编辑它


写一些HTML的代码:

我们运行一下,看看有没有问题,打开浏览器,输入地址127.0.0.1/文件夹路径/demo.php,我这里就放到了lesson22文件夹的03文件夹中,你输入你自己的文件夹名字就可以

如果我把变量的值修改掉,改成b,应该输出name不是a并且是红色的


那么现在看一下我这里加了很多的回车换行,

这里是没有影响的,你记住回车换行在php服务端也会自动过滤掉,所以我们可以任意缩进回车换行来排版,更有利于阅读,然后我们再说下注释,比如a声明了一个变量,可以用单行注释:
单行注释可以写到右面或上面,也可以写多行注释:
多行注释中的每行前面也可以加星号也可以不加,其他地方也可以加注释:

然后我们再运行一下,发现结果没有改变,并且右键查看源代码也只能看的php的代码,没有php的注释。

因为注释被服务端忽略了,而PHP代码在服务端已经解析好了,并且输出了字符串。
这节课的知识也并不难,只有这点东西,你需要掌握的是标签<?p ?>,其他三种不需要使用,另外要知道php的代码可以嵌入到页面中的任何位置,并且要知道注释可分为单行和多行注释,另外一种还有脚本注释,以#开头的脚本注释,通常使用在配置文件中,我们现在并不是配置文件,所以一般来说不会使用它,记住它的使用地方就可以。这堂课的内容就讲到这里。
全部评论

相关推荐

03-24 16:56
已编辑
肇庆学院 后端
一天代码十万三:你看看人家进大厂的简历就知道了,你这个学历得acm+大厂实习+熟悉底层+运气很好 才有可能进某个大厂,因为大部分是直接卡学历的
投递快手等公司10个岗位
点赞 评论 收藏
分享
05-14 16:55
广州大学 Java
面试情况25届双非本科,有&nbsp;ACM&nbsp;竞赛经历,两段实习(小厂&nbsp;+&nbsp;独角兽)。以下为2024年11月到次年5月的春招及其补录面试情况,若对个人秋招经历感兴趣,可查看另一篇置顶文章。通过某区级供水国企汇丰科技:线上行为测评&nbsp;→&nbsp;Coding&nbsp;测试&nbsp;→&nbsp;线下技术&nbsp;&amp;&nbsp;HR&nbsp;面东方财富:一、二轮线上面,三轮线下技术面招银科技:一轮线上技术,二轮、三轮线下技术和HR元戎启行:三轮技术面&nbsp;+&nbsp;HR&nbsp;面,一共四面面试挂拼多多:客户端,三轮技术面挂,手撕没撕出来4399:一轮技术面挂微派:一轮技术面挂,手撕没撕出来以下是个人无意向故提前主动终止流程,以免影响其他候选人广州农商银行:线下笔试,一轮面试...
isjsns:同双非本,最后的总结那块挺赞同的,我们计院的就业数据也就那样,年包二十到四十万的人也有,但少之又少,周围有认识的地信和电子的也有二到四十万的,找的还不错的包括我基本都是春招才找到的,个人是感觉春招机会挺多的,也可能是像楼主一样年初又找了个实习加技术又沉淀了一波的原因,本来秋招结束都想摆了,最后还是熬出来了大家别放弃啊,双非本也有翻身的机会的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务