PHP 快速入门及项目实战

2018-04-03作者:潘凯华, 等编著编辑:Solomon

PHP 是一种服务器端、跨平台、面向对象、HTML 嵌入式的脚本语言。本 章将向读者简单介绍 PHP 语言、PHP 的语言优势、下载 PHP 及相关软件、搭 建 PHP 的开发环境,了解常用的配置信息,熟悉 PHP 开发环境的配置结构等 知识。其主要目的是让读者先在宏观上对 PHP 语言有一个整体的了解,使读者 对 PHP 有一个总体的认识,找到学习 PHP 的切入点。


PHP 概述


一、 如何学好 PHP


1.1  什么是 PHP

PHP是Hypertext Preprocessor(超文本预处理器)的缩写,是一 种服务器端、跨平台、面向对象、HTML 嵌入式的脚本语言。其独特 的语法混合了 C 语言、Java 语言和 Perl 语言的特点,是一种被广泛应 用的开源式的多用途脚本语言,尤其适合 Web 开发。


1.2  PHP 版本

PHP于1994年由Rasmus Lerdorf创建。最初只是一个简单的用Perl语言编写的程序,用 来统计网站的访问者。后来又用 C 语言重新编写,增加了多种功能,包括可以访问数据库等。 1995 年以 Personal Home Page Tools (PHP Tools)为名开始对外发表第一个版本,Lerdorf 编写了 一些介绍此程序的文档,并且发布了 PHP1.0。在早期的版本中,提供了访客留言本、访客计 数器等简单功能。后来越来越多的网站使用 PHP,并且强烈要求增加一些特性,如循环语句和 数组变量等,在新的成员加入到开发行列之后,在 1995 年中又发布了 PHP2.0,定名为 PHP/FI (Form Interpreter)。PHP/FI 加入了对 mSQL 的支持,从此建立了 PHP 在动态网页开发上的地位。 到 1996 年底,大约有 15000 个网站在使用 PHP/FI;1997 年中,使用 PHP/FI 的网站总数超过 5 万个。而在1997年中,开始了第三版的开发计划,开发小组加入了Zeev Suraski及Andi Gutmans, 而第三版就定名为 PHP3。


【PHP4】

2000 年,PHP4.0 问世,其中增加了许多新的特性。PHP4.0 整个脚本程序的核心大幅变动, 加快了程序的执行速度,满足了更快的要求。其在最佳化之后的效率,已较传统 CGI 或 ASP 等程序有更好的表现,而且还有更强的新功能、更丰富的函数库。事实证明,PHP 在 Web CGI 的领域上掀起了巅覆性的革命。对于一位专业的 Web Master 而言,它将也是必修课程之一。


【PHP5】

在 PHP 的发展过程中又推出了 PHP5,其功能更加完善,很多缺陷和 BUG 都被逐一修复。 在PHP 5中,理想的选择是PHP5.2.X系列,其兼容性好,每次版本的升级带来的都是安全性 和稳定性的改善。但如果产品是自己开发使用,则 PHP5.3.X 在某些方面更具优势,在稳定性上 更胜一筹,增加了很多 PHP5.2.X 所不具有的功能,如内置 php-fpm、更完善的垃圾回收算法、 命名空间的引入、sqlite3 的支持等,是部署项目值得考虑的版本(本书中使用是 PHP5 版本)。


【PHP6】

时至今日,PHP 的版本已经更新到 PHP6。PHP6 是一个理想化的产品,虽然目前还没有走 上生产线,但其更新的特性和功能极大地吸引着广大的 PHP 编程爱好者。


 完全抛弃全局变量。

 删除 Magic Quotes。

 增加一个输入过滤扩展代替 Magic Quotes,提供一个机制让开发者很容易自己关闭或开启这个功能,而不是像现在这样先判断服务器的 GPC 是否打开。

 默认加入 opcode cache,对代码执行进行速度上的优化。目前大多用的是 PECL 或APC,但有一个官方的解决方案显然是比较好的。

 删除安全模式 safe_mode,改进 open_basedir。

 删除在PHP3/4中已经被标记为过时deprecated的内容。

 标识符(程序中使用的变量名、函数名、标号等)大小写敏感。

 删除各种函数的别名。


1.3  PHP 的应用领域

在互联网高速发展的今天,PHP 的应用领域可谓是非常广泛,主要包括:  中小型网站的开发。

 大型网站的业务逻辑结果展示。

 Web办公管理系统。

 硬件管控软件的GUI。

 电子商务应用。

 Web应用系统开发。

 多媒体系统开发。

 企业级应用开发。

PHP 正吸引着越来越多的 Web 开发人员,其无处不在,它可应用于任何地方、任何领域,

并且已拥有几百万个用户,其发展速度要快于在它之前的任何一种计算机语言。PHP 能够给企 业和最终用户带来无穷无尽的好处。据最新数据统计,全世界有超过 2200 万家的网站和 1.5 万家公司在使用 PHP 语言,包括百度、雅虎、Google、YouTube、Digg 等著名的网站,也包括 汉沙航空电子订票系统、德意志银行的网上银行、华尔街在线的金融信息发布系统等,甚至包 括军队系统这类苛刻的环境。除此之外,PHP 也是企业用来构建服务导向型、创造和混合 Web 融于新一代的综合性商业应用的语言,其也逐渐发展成为开源商业应用发展的方向。


1.4  PHP5 的新特性

目前主流仍然是 PHP5,所以下面着重讲述 PHP5 中新的对象模型的特性。

 构造函数和析构函数。

 对象的引用。

 对象的克隆(clone)。

 对象中的私有、公共及受保护模式(public/private和protected关键字)。  接口(Interface)。

 抽象类。

 __call。

 __set和__get。

 静态成员。


1.5 下载 PHP 及相关软件

搭建 PHP 环境涉及到系统平台、Web 服务软件和数据库软件及 PHP 本身,用户可根据自 身现有的计算机软、硬件环境,自由选择相应的软件。

通常选择 Windows NT 为实验平台,这样可以下载 PHP5.0 以上的 Windows 版本。数据库 可以下载 MySQL 的 Windows 版本(www.MySQL.org)或者使用微软公司的 MsSQL。Web 服 务软件可以直接下载 Apache 的 Windows 版本(www.apache.com)。

如果想搭建 Linux 下运行的实战环境,那么所有这些软件必须下载其对应于 Linux 的版本, 有的可能需要在 Linux 下编译生成。

下面笔者以 Windows 版本为例,简单说明一下 PHP 优秀的集成开发环境及相关信息。

(1)XAMPP 是一个易于安装且包含 MySQL、PHP 和 Perl 的 Apache 发行版,只需根据 提示操作,即可安装成功。而不必对 PHP、Apache、MySQL 配置文件进行修改及相关烦琐的 操作(例如,将 PHP 的配置文件 php.ini 保存到操作系统 C 盘下的 WINDOWS 文件夹下,手动 开启MySQL组件、Oracle组件和GD2支持等),大大节省了初学者在配置运行环境时的时间, 真正意义上做到了一键安装、开发运行的理念。XAMPP 的官方下载地址如图 1.4 所示。

(2)AppServ 将 Apache、PHP、MySQL 和 phpMyAdmin 等服务器软件和工具安装配置完 成后打包处理,同 XAMPP 一样,安装相当简单。


1.6 代码编辑工具

选择 PHP 的代码编辑工具,笔者认为应该考虑 4 个方面的因素:

第一,语法的高亮显示。应用语法的高亮显示,可以对代码中的不同元素采用不同的颜色 进行显示,例如,关键字用蓝色,对象方法用红色标识等。

第二,格式排版功能。该功能可以使程序代码的组织结构清晰易懂,并且易于程序员进行 程序调试,排除程序的错误异常。

第三,代码提示功能。该功能可以在程序员编写某个函数时,提供这个函数的语法信息, 甚至可以在程序员输入某个字符时,给出这个字符相关的函数信息,从而帮助程序员编写正确 的函数,使用正确的语法。

第四,界面设计功能。利用该功能不但可以编写 PHP 代码,还可以进行界面的设计。

以上是在选择代码编辑工具时,用户应考虑的问题,需要注意的是,这 4 个因素不可能都 完全满足,用户应根据自己的实际情况进行选择。

  下面介绍几款常用的代码编辑工具,供广大读者参考。

 Macromedia Dreamweaver

Macromedia Dreamweaver 是一款专业的网站开发编辑器,它将可视布局工具、应用程序开

发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够 快速创建出吸引人的、标准的网站和应用程序。Macromedia Dreamweaver 采用了多种先进的技 术,能够快速、高效地创建极具表现力和动感效果的网页,使网页创作过程简单无比,同时, 它还提供了代码自动完成功能,不但可以提高编写速度,而且还减少了错误代码出现的几率。 Macromedia Dreamweaver 既适用于初学者制作简单的网页,又适用于网站设计师、网站程序员 开发各类大型应用程序,极大地方便了程序员对网站的开发与维护。

Macromedia Dreamweaver从MX版本开始支持PHP+MySQL的可视化开发,对于初学者 确实是比较好的选择,因为如果是一般性开发,几乎是可以不写一行代码也可以写出一个程序, 而且都是所见即所得的。其所包含的特征包括:语法加亮、函数补全、形参提示、全局查找替 换、处理 Flash 和图像编辑等。同时,它还为 PHP、ASP 等脚本语言提供辅助支持。

下载地址:http://www.adobe.com/downloads/。  ZendStudio

ZendStudio 是目前公认的最强大的 PHP 开发工具,是一款收费软件。其具备功能强大的专 业编辑工具和调试工具,包括:编辑、调试,配置 PHP 程序所需要的客户及服务器组件,支 持 PHP 语法加亮显示,尤其是功能齐全的调试功能,能够帮助程序员解决在开发中遇到的很 多问题。

下载地址:http://www.zend.com/store/products/zend-studio.php。

 PHPEdit

PHPEdit 是一款 Windows 下优秀的 PHP 脚本 IDE(集成开发环境)。该软件为快速、便捷

的开发 PHP 脚本提供了多种工具。其功能包括:语法关键词高亮;代码提示、浏览;集成 PHP调试工具;帮助生成器;自定义快捷方式;150 多个脚本命令;键盘模板;报告生成器;快速 标记;插件等。

官方网址:http://phpedit.svoi.net


1.7  下载 PHP 用户手册

关于获取 PHP 帮助信息的途径,除了可以到书店购买 PHP 的相关教材外,还可以直接到 PHP 的官方网站中下载 PHP 中文手册,PHP 机构的官方网址为 http://www.php.net,初学者可 以在该手册中查找到相关函数的详细说明。由于 PHP 代码公开,而且完全免费,所以用户可 以直接在 PHP 的官方网站中下载 PHP 中文手册。

PHP 中文手册是学习 PHP 的良师,许多 PHP 的高手仍然随时备查。该手册通常为 PHP5.0, 有中、英文版本,中文版中还有 HTML、ZIP 和 CHM 等几种格式,目前很多网站都可以进行 下载。笔者建议下载 CHM 格式,查阅较为方便。

读者在学习的过程中可以通过下载PHP中文手册和MySQL中文手册来获得帮助。为了便 于学习,下面推荐两个网址供参考。

(1)PHP 中文手册下载地址:http://www.php.net

(2)MySQL 中文手册下载地址:http://www.mysql.com


asd.jpg




二、环境的搭建


2.1 AppServ——Windows 版 PHP 集成化安装包

AppServ 将 Apache、PHP、MySQL 和 phpMyAdmin 等服务器软件和工具安装配置完成后 打包处理,开发人员只要到网站上下载该软件并安装,即可完成 PHP 开发环境的快速搭建, 非常适合初学者使用。

注:在使用 AppServ 搭建 PHP 开发环境时,必须确保系统中没有安装 Apache、PHP 和 MySQL, 否则,要先将这些软件卸载,然后应用 AppServ。

PHP 开发环境集成安装包:目前网络上流行的集成安装包有十几种,其中比较常用是 EasyPHP、AppServ 和 XAMPP,它们都可以搭建 PHP 的开发环境。但是,根据实际的应用情 况,还是 AppServ 相对比较好用一些,因为诸如 EasyPHP 或 XAMPP,在对一些类库的支持上 会产生一些错误,导致类库不能正常使用。例如,在 EasyPHP 或 XAMPP 中应用 jpgraph 类库 开发图像时,就会出错。


下面讲解 AppServ 集成化安装包搭建 PHP 开发环境的具体操作步骤:

(1)双击 AppServ-win32-2.5.10.exe 文件,打开 AppServ 启动页面。 

(2)单击Next 按钮,打开 AppServ 安装协议页面。

(3)单击I Agree 按钮,打开页面。设置 AppServ 的安装路径(默 认安装路径一般为:E:AppServ),当 AppServ 安装完成后,Apache、MySQL、PHP 都将以子 目录的形式存储到该目录下。

(4)单击Next 按钮,打开页面。选择要安装的程序和组件 (默认为全选)。

(5)在Next 按钮,打开页面。填写计算机名称,添加邮

箱地址,设置 Apache 的端口号,默认为 80 端口。

(6)单击Next 按钮,打开页面。设置 MySQL 数据库 root 用户的登录密码及字符集。

(7)单击Install 按钮开始安装。

(8)安装完成后可以在开始菜单的 AppServ 相关操作列表中启动 Apache 及 MySQL 服务。


2.2  XAMPP——Linux 版 PHP 集成化安装包

本节中主要介绍在 Linux 操作系统下通过 XAMPP 配置 PHP 的开发环境及其基本应用。 XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,它可以在 Windows、 Linux、Solaris 3 种操作系统下安装使用,支持多语言,包括英文、简体中文、繁体中文、韩文、 俄文、日文等。

在 Linux 操作系统下,使用集成软件 XAMPP 的 Linux 版来配置 PHP 开发环境。Linux 下 安装 XAMPP 的步骤如下:

(1)在 Linux 操作系统下,选择“主菜单”/“系统工具”/“终端”命令。 (2)在命令模式下,首先进入到系统的根目录下。

(3)通过 mkdir 命令在根目录下创建一个 opt 目录。

(4)通过 tar xvfz 命令将 XAMPP 解压缩到 opt 目录下。

(5)按 Enter 键,执行 XAMPP 的解压缩,直到安装成功。

(6)安装成功后,查看/opt/lampp 目录。

(7)在 Mozilla 浏览器中输入 http://127.0.0.1/xampp/index.php



三、PHP 开发环境的关键配置信息


3.1  Apache 服务器的基本配置

Apache 服务器的设置文件在 Linux 操作系统中位于/usr/local/apache/conf/(在 Windows 操作系 统中位于/etc/httpd/conf)目录下,基本上使用以下 3 个配置文件来配置 Apache 服务器的行为。

 access.conf:用于配置服务器的访问权限,控制不同用户和计算机的访问限制。  httpd.conf:用于设置服务器启动的基本环境。

 srm.conf:主要用于进行文件资源上的设定。


3.2  php.ini 文件的基本配置

php.ini 文件是 PHP 在启动时自动读取的配置文件。它是一个 ASCLL 文本文件,分为多个

部分,每一部分包括相关的参数。每一部分的名称位于最前面的方括号内,接着是名称对数字每一名称都独占一行。使用规则 PHP 代码,对参数名称非常敏感,不能包含有空格,但是参 数可以是数字、字符串或布尔逻辑数。分号位于每一行的开始,作为指定标记,这就使选择使 用或者不使用 PHP 的这些特性变得很方便,而无须通过删除该行来实现。对某特性进行注释 (即添加分号),则该行将不会被编译执行。每次修改完 php.ini 文件,必须重新启动 Apache 服务器,以使新的设置生效。



四、解决 PHP 的常见配置问题


程序运行出错是许多程序员最为头疼的问题,下面介绍 PHP 常见的配置问题。通过本节

的学习,可以分清哪些错误是由于 PHP 环境配置不当产生的,从而避免不必要的时间资源浪 费,高效地完成 Web 应用程序的开发。


4.1  解决 Apache 服务器端口冲突

IIS 的默认端口号为 80,同 Apache 服务器默认端口号相同。由于采用了相同的端口号 80, 因此,在运行网页时就会发生冲突。

如果用户机器上安装了 IIS,就需要修改 IIS 的默认端口,否则将导致 Apache 服务器无法 正常工作。更改 IIS 的默认侦听端口 80,可以在 IIS 的管理器中进行设置,或者停止 IIS 的服 务也可以。

用户也可以在安装 Apache 服务器时将默认的端口号进行更改,从而解决两个服务器共用 一个端口号而产生冲突的问题。


4.2  设置 PHP 的系统当前时间

由于 PHP5.0 对 date()函数进行了重写,因此,目前的日期时间函数比系统时间少 8 个小时。 在 PHP 语言中默认设置的是标准的格林威治时间(即采用的是零时区),所以要获取本地当前 的时间必须更改 PHP 语言中的时区设置。方法如下:

在 php.ini 文件中,将[date]下的;date.timezone =选项修改为 date.timezone =Asia/Hong_ Kong,然后重新启动 Apache 服务器。

  设置完成后,在输出系统当前的时间就不会出现时差问题。


4.3  增加 PHP 扩展模块

增加 PHP 扩展模块也称为动态扩展,用来动态加载某个模块,它包含一个指令:extension。

在 Windows 操作系统下,加载模块的方法为:打开 php.ini 文件,定位到如下位置,去 掉;tension=php_java.dll 前面的分号,保存后重新启动 Apache 服务器,即完成扩展模块的加载 操作。

;tension=php_java.dll

在 Linux 操作系统下,加载模块的方法如下。 extension=php_java.so

需要说明的是,只加载这一行代码并不一定能启用相关的扩展包,有时还需要确保在操作 系统中安装相关的软件,例如,为启用 java 支持,需要安装 JDK。


PHP 基础


一、PHP 工作原理


PHP 即 Hypertext Preprocessor(超文本预处理器)的缩写,是基于服务器端运行的脚本程 序语言,用于实现数据库和网页之间的数据交互。

一个完整的 PHP 系统由以下几部分构成。

 操作系统:网站运行服务器所使用的操作系统。PHP不要求操作系统的特定性,其跨

平台的特性允许 PHP 运行在任何操作系统上,如 Windows、Linux 等。

 服务器:搭建 PHP 运行环境时所选择的服务器。PHP 支持多种服务器软件,包括

Apache、IIS 等。

 PHP包:实现对PHP文件的解析和编译。

 数据库系统:实现系统中数据的存储。PHP支持多种数据库系统,包括MySQL、SQL

Server、Oracle 及 DB2 等。

 浏览器:浏览网页。由于 PHP 在发送到浏览器时已经被解析器编译成其他的代码,

所以 PHP 对浏览器没有任何限制。


二、PHP 标记


所谓标记,就是为了便于与其他内容区分所使用的一种特殊标记,PHP 共支持 4 种标记风

格,下面一一介绍。


1.XML 标记风格

<?php

echo "这是XML标记风格"; 

?>

从上面的代码中可以看到,XML 标记风格以“<?php”开始,以“?>”结尾,中间包含的 代码就是 PHP 语言代码。推荐使用这种标记风格,因为它不能被服务器禁用,在 XML、XHTML 中都可以使用。


2.脚本标记风格

<script language="php">

echo "这是脚本风格的标记"; 

</script>

脚本标记风格以“<script ..... ">”开始,以“</script>”结尾。

 

3.简短标记风格

<?

echo "这是简短风格的标记"; 

?>

如果想使用这种标记风格开发 PHP 程序,则必须保证 PHP 配置文件 php.ini 中的 “short_open_tag”选项值设置为“on”。


4.ASP 标记风格

<%

echo "这是ASP风格的标记"; 

%>

如果想使用这种标记风格开发 PHP 程序,则必须保证 PHP 配置文件 php.ini 中的“asp_tags” 选项值设置为“on”。


三、代码注释


注释可以理解为代码中的解释和说明,是程序中不可缺少的一个重要元素,使用注释不仅 能够提高程序的可读性,而且还有利于程序的后期维护工作。注释不会影响程序的执行,因为 注释部分的内容不会被解释器执行。


3.1  使用 PHP 注释

PHP 的注释有 3 种风格,下面分别进行介绍。


  1.C++风格的单行注释(//)

<?

phpecho "使用C++风格的注释"; //echo "这就是C++风格的注释"; 

?>

运行结果为:使用 C++风格的注释


上面代码使用 echo 输出语句分别输出了“使用 C++风格的注释”和“这就是 C++风格的 注释”,但是因为使用注释符号“//”将第 2 个输出语句注释掉了,所以不会被程序执行。


  2.C 风格的多行注释(/*...*/)

<?php /*

echo "这是第一行注释信息"; echo "这是第二行注释信息"; */
echo "使用C风格的注释";

?>

运行结果为:使用 C 风格的注释

上面代码虽然使用 echo 输出语句分别输出了“这是第一行注释信息”、“这是第二行注释 信息”和“使用 C 风格的注释”,但是因为使用了注释符号“/*...*/”将前两个输出语句注释掉 了,所以没有被程序执行。


  3.Shell 风格的注释(#)

<?php

echo "这是Shell脚本风格的注释"; #这里的内容是看不到的

?>

运行结果为:这是 Shell 脚本风格的注释 因为使用了注释符号“#”,所以在“#”注释符号后面的内容是不会被程序执行的。


3.2  有效使用注释

程序注释是书写规范程序时很重要的一个环节。注释主要是针对代码的解释和说明,用来 解释脚本的用途、版权说明、版本号、生成日期、作者和内容等,有助于用户对程序的阅读和 理解。合理使用注释有以下几项原则:

  (1)注释语言必须准确、易懂、简洁。

  (2)注释在编译代码时会被忽略,不会被编译到最后的可执行文件中,所以注释不会增 加可执行 文件的大小。

  (3)注释可以书写在代码中的任意位置,但是一般写在代码的开头或者结束位置。

  (4)修改程序代码时,一定要同时修改相关的注释,以保持代码和注释的同步。

  (5)在实际的代码规范中,要求注释占程序代码的比例达到 20%左右,即 100 行程序中包含20     行左右的注释。

  (6)在程序块的结束行右方加注释标记,以表明某程序块的结束。 

  (7)避免在注释中使用缩写,特别是非常用缩写。 

  (8)注释与所描述内容进行同样的缩排,可使程序排版整齐,并方便注释的阅读与理解。


关注微信公号“书问”免费领取万本好书


内容来源:书问

作者潘凯华, 等编著
出版清华大学出版社
定价49.8元
书籍比价

分享到

扫描二维码 ×

参与讨论

电子纸书

PHP快速入门及项目实战

潘凯华, 等编著
清华大学出版社[2012] ¥20

PHP典型模块与项目实战大全

杨宇, 编著
清华大学出版社[2016] ¥32

Cocos2d-JS游戏开发快速入门到实战

何金成 著
清华大学出版社[2018] ¥38

风光摄影快速入门与实战提高

贾富, 王前辉
清华大学出版社[2016] ¥40

C#开发入门及项目实战

明日科技, 编著
清华大学出版社[2012] ¥24

Java开发入门及项目实战

明日科技, 编著
清华大学出版社[2012] ¥20

C语言开发入门及项目实战

明日科技, 编著
清华大学出版社[2012] ¥24

PHP项目案例分析

潘凯华, 等主编
清华大学出版社[2012] ¥20

PHP开发实战

软件开发技术联盟, 编著
清华大学出版社[2013] ¥67

PHP+MySQL开发实战

软件开发技术联盟 编
清华大学出版社[2013] ¥63

出版业领先的TMT平台

使用社交账号直接登陆

Copyright © 2018 BookAsk 书问   |   京ICP证160134号


注册书问

一键登录

Copyright © 2018 BookAsk 书问   |   京ICP证160134号