PHP(Hypertext Preprocessor,超文本预处理语言)承担的任务是在用户向Web服务器发出超文本请求之后,在Web服务器向用户返回被请求的页面之前,由PHP引擎来对用户请求的页面进行预处理。它是一种HTML内嵌式的语言,可以很方便地被嵌入到HTML页面中。这一点与ASP类似。但是,PHP的开源特性、跨平台特性、小巧的体积和高效的运行效率,以及开源社区的广泛支持和它支持众多的数据库等特性却是它被广泛使用的根本原因。
1.开源、免费
PHP发布于1995年。从那之后,发展非常迅速。这都归功于它的开源特性。在开源协议的框架下,用户甚至不需任何花费,就可以获得各种升级和安全补丁,保证PHP引擎的安全。
2.广泛支持
PHP的快速发展也离不开大家的支持。在互联网上,人们讨论最多的编程语言就是PHP。如果你在使用过程中发现了任何解决不了的问题,打开搜索引擎,输入问题的关键词,一定可以找到解决方案的。
3.支持众多的数据库
PHP对数据库的支持也是其深受欢迎的原因之一。PHP支持通过ODBC连接各种类型的数据库,同时也针对MySQL数据库开发了便捷的连接和操作方式。由于其对MySQL数据库的原生支持,使MySQL数据库成为了最受欢迎的开源数据库软件。
本书特色
1.诙谐幽默,接地气儿
本书试图以生动活泼的语言、接地气儿的讲解方式来为读者呈现PHP的世界。本书讲解知识点时和日常生活中的方方面面联系起来,让读者更加容易理解抽象的编程世界。作者希望通过这种接地气儿的语言和内容组织形式,让读者在程序员的道路上不至于越走越累,从而充分领略到PHP的魅力。
2.夯实基础,注重实用
本书涵盖读者初涉PHP开发所需要掌握的各种基础知识。通过本书,可以为读者后续的PHP应用开发夯实基础。另外,本书讲解知识点时列举了大量生动有趣的实例,可以大大提高读者的实际编程能力。
3.代码精讲,注释丰富
本书中的代码大部分给出了详细的解释,并且进行了丰富的注释,便于读者阅读和理解,也可以培养读者从一开始就养成良好的编码习惯。
4.实例真实,生动有趣
就像作家写小说需要从实际生活中汲取生活经验一样,程序员在编写程序的过程中也需要从实际生活经验中找灵感。本书中的实例大多来源于日常生活。这些例子生动有趣,可以提升读者对日常生活的观察力,从而在日常生活中找到编程的灵感。
5.视频教学,高效直观
作者专门为本书录制了配套多媒体教学视频,以帮助读者更加直观、高效地阅读本书,达到事半功倍的学习效果。
6.实战练习,巩固提高
本书除了第14章之外,其他各章最后都提供了练习题,可以帮助读者巩固和提高所学的知识,也可以方便相关老师教学时使用。
本书内容及体系结构
第1篇 初识PHP脚本语言(第1~3章)
本篇介绍了PHP脚本的工作原理,并通过在Windows平台上搭建PHP开发环境进一步加深读者对PHP脚本语言工作原理的认识。
第2篇 常量、变量与数组(第4~6章)
本篇介绍了PHP脚本中经常使用的常量和变量,以及作为变量集合的数组。在这三章中,读者可以了解这些概念背后的意义及何时需要使用它们。本篇通过大量的示例和有的放矢的实战练习,帮助读者更好地掌握这些知识。
第3篇 PHP编程基础(第7~10章)
本篇介绍了PHP中的执行流程和控制机制。通过这些控制机制,可以实现在指定条件下运行相应的脚本、循环使用脚本及脚本的大规模复用。有了这些流程控制机制,程序员便可以用较少的代码来完成各种纷繁复杂的任务,提高开发效率。另外,本篇还介绍了Web编程的基础和数据存储的相关知识,为使用PHP进行Web开发打好基础。
第4篇 面向对象编程(第11~13章)
本篇主要介绍了PHP与操作系统、PHP与基于对象的编程(OOP)及PHP与MVC框架等内容。通过这三章内容的学习,读者可以更加深刻地认识PHP面向对象编程的特性。
第5篇 开源PHP应用(第14章)
本篇主要介绍了WordPress和Drupal两款知名的PHP应用。读者在掌握了前面各章内容后,可以使用这两款PHP应用来快速搭建自己的网站。
本书超值DVD光盘内容
* 本书各章涉及的实例源文件;
* 10小时本书配套教学视频;
* 12个PHP典型模块源程序及8小时教学视频;
* 6个PHP大型项目案例源程序及5小时教学视频;
* 25.5小时MySQL入门教学视频。
本书读者对象
* 没有任何基础的PHP初学者;
* PHP开发的爱好者;
* 刚入职的PHP初中级程序员;
* 大中专院校的师生;
* 相关培训学校的学员。
本书作者
本书由涂文家主笔编写,其他参与编写的人员有丁士锋、胡可、姜永艳、靳鲲鹏、孔峰、马林、明廷堂、牛艳霞、孙泽军、王丽、吴绍兴、杨宇、游梁、张建林、张起栋、张喆、郑伟、郑玉晖、朱雪琴、戴思齐、丁毓峰。
虽然笔者花费了大量精力写作本书,并力图将疏漏减少到最少,但仍恐百密一疏。如果您在阅读本书的过程中发现有任何疏漏,或者对本书讲解有任何疑问,都可以与作者取得联系。
编著者
第1篇 初识PHP脚本语言
第1章 什么是PHP( 教学视频:11分钟)
1.1 PHP的定义
1.1.1 动态网页vs.静态网页
1.1.2 通用编程语言vs.基于域的编程语言
1.1.3 服务器端脚本语言vs.客户端脚本语言
1.2 为什么要使用PHP
1.2.1 PHP脚本的特点
1.2.2 PHP脚本和Web应用程序
1.2.3 PHP脚本和数据库应用
1.2.4 PHP脚本和文件系统
1.2.5 PHP脚本和系统命令
1.3 什么是PHP文件
1.3.1 PHP文件的特征
1.3.2 PHP文件是如何工作的
1.4 习题
第2章 搭建PHP运行环境( 教学视频:36分钟)
2.1 准备必要的文件
2.1.1 获取Apache HTTP服务器软件
2.1.2 获取PHP处理引擎
2.1.3 获取MySQL数据库软件
2.1.4 获取数据库管理软件phpMyAdmin
2.2 安装Apache HTTP服务器
2.2.1 安装Apache HTTP服务器
2.2.2 安装验证
2.2.3 配置Apache HTTP服务器
2.3 安装和配置PHP脚本处理引擎
2.3.1 解压PHP引擎包
2.3.2 配置PHP引擎
2.3.3 配置验证
2.4 安装和配置MySQL数据库
2.4.1 安装MySQL数据库
2.4.2 配置验证
2.5 安装和配置phpMyAdmin
2.5.1 解压phpMyAdmin压缩包
2.5.2 配置phpMyAdmin
2.6 使用套件包搭建PHP运行环境
2.6.1 PHPnow
2.6.2 WampServer
2.7 在微软IIS上配置PHP运行环境
2.7.1 开启互联网信息服务
2.7.2 为微软IIS服务添加PHP支持
2.7.3 验证微软IIS服务对PHP的支持
2.8 安装集成开发环境(IDE)
2.8.1 IDE是什么
2.8.2 PHP开发中常用的IDE
2.8.3 创建PHP项目
2.9 习题
第3章 动手写第一个PHP脚本( 教学视频:13分钟)
3.1 何谓PHP命令
3.1.1 简单命令
3.1.2 复杂命令
3.2 如何写代码
3.2.1 PHP标记对
3.2.2 注释脚本
3.3 实战练习:向世界说Hello!
3.3.1 echo命令初识
3.3.2 实战练习--向世界说Hello!
3.4 习题
第2篇 常量、变量与数据
第4章 双生姐妹花--常量与变量( 教学视频:35分钟)
4.1 什么是常量
4.1.1 如何定义常量
4.1.2 何时使用常量
4.1.3 PHP预置常量
4.2 什么是变量
4.2.1 变量的命名
4.2.2 如何定义变量
4.2.3 详谈变量输出
4.2.4 何时使用变量
4.2.5 如何销毁变量
4.3 实战练习:常量与变量
4.3.1 背景介绍
4.3.2 实现过程
4.4 习题
第5章 数据五虎将( 教学视频:74分钟)
5.1 概述
5.1.1 数据全家福
5.1.2 为变量指定数据类型
5.2 玩转数字--整型和浮点型数据
5.2.1 四则运算
5.2.2 复杂运算
5.2.3 数字格式化
5.3 咬文嚼字--字符串型数据
5.3.1 文字游戏
5.3.2 文本格式化
5.4 操控时间--时间型数据
5.4.1 时间格式记
5.4.2 时间型变量
5.5 判别真假--布尔型数据
5.6 实战练习:计算税后收入
5.6.1 背景介绍
5.6.2 实现过程
5.7 习题
第6章 抱团效应--数组( 教学视频:77分钟)
6.1 多胎胞--数组的声明与使用
6.1.1 创建数组
6.1.2 查看数组
6.1.3 修改数组
6.2 排排坐--数组的遍历、排序与比较
6.2.1 如何遍历数组中的元素
6.2.2 如何给数组中的元素排序
6.2.3 如何比较数组
6.3 串串门--数组与其他数据类型的互转
6.3.1 为什么要转换
6.3.2 数组与字符串的互转
6.3.3 数组与变量的互转
6.4 分分合合——数组的拆分与合并
6.4.1 如何拆分数组
6.4.2 如何合并数组
6.5 多维数组
6.5.1 多维数组 vs. 一维数组
6.5.2 创建多维数组和查看数组结构
6.5.3 如何遍历多维数组
6.6 实战练习:级联下拉菜单
6.6.1 界面预览
6.6.2 实现过程
6.7 习题
第3篇 PHP编程基础
第7章 条件与循环( 教学视频:59分钟)
7.1 精细化运算——条件
7.1.1 什么是条件
7.1.2 如何定义条件
7.1.3 简单条件语句if…else…
7.1.4 复杂条件语句switch
7.1.5 实战练习:用户信息验证
7.2 重复性运算——循环
7.2.1 for循环
7.2.2 while循环
7.2.3 do … while循环
7.2.4 避免无限循环
7.2.5 实战练习:遍历数组的另类方法
7.3 习题
第8章 脚本的重用( 教学视频:76分钟)
8.1 自定义函数
8.1.1 小试牛刀
8.1.2 参数与返回值
8.1.3 局部变量、全局变量和静态变量
8.1.4 引用外部变量
8.1.5 函数的引用
8.2 类
8.2.1 如何定义类
8.2.2 魔术方法__construct()和__destruct()
8.2.3 类的继承
8.2.4 类的私有元素
8.2.5 类的静态元素
8.3 对象
8.3.1 创建对象
8.3.2 克隆对象
8.3.3 销毁对象
8.4 实战练习:记账工具(上)
8.5 习题
第9章 Web编程基础( 教学视频:47分钟)
9.1 使用URL传递数据
9.1.1 收集用户信息
9.1.2 接收信息数据
9.1.3 检测接收到的数据
9.2 使用Cookie缓存数据
9.2.1 使用Cookie存取数据
9.2.2 销毁Cookie数据
9.2.3 关于Cookie的后话
9.3 使用Session保障数据安全
9.3.1 PHP Session工作机制
9.3.2 创建及销毁Session
9.3.3 使用Session变量
9.4 使用表单上传文件
9.4.1 使用表单上传文件
9.4.2 获取已上传文件的信息
9.5 实战练习:记账工具(中)
9.5.1 界面预览
9.5.2 脚本分析
9.6 习题
第10章 数据的存储( 教学视频:95分钟)
10.1 使用文本文件存取数据
10.1.1 打开和关闭文本文件
10.1.2 向文本文件中写入数据
10.1.3 从文本文件中读取数据
10.1.4 从CSV和TSV文件中读取数据
10.1.5 实战练习:用文本文件做数据源的留言本
10.2 使用XML存取数据
10.2.1 加载和读取XML数据
10.2.2 修改XML文件中的数据
10.2.3 向XML文件中添加数据
10.2.4 遍历XML文件中的数据
10.3 使用数据库存取数据
10.3.1 数据库基础
10.3.2 数据表之间的关系
10.3.3 查询结果的排序和组合
10.4 使用PHP来操作数据库
10.4.1 使用PHP打开和关闭数据库连接
10.4.2 使用PHP输出数据库查询结果
10.4.3 使用PHP来添加、修改和删除数据库数据
10.5 实战练习:记账工具(下)
10.5.1 规划数据库
10.5.2 批量导入模板
10.5.3 为页面添回功能前的准备工作
10.5.4 为页面添加功能
10.6 习题
第4篇 面向对象编程
第11章 PHP与操作系统( 教学视频:15分钟)
11.1 管理文件
11.1.1 获取文件信息
11.1.2 复制、重命名和删除文件
11.1.3 组织文件
11.2 调用操作系统命令
11.2.1 重音符(`)
11.2.2 system()函数、exec()函数和passthru()函数
11.2.3 四个变量的区别
11.3 使用PHP操控FTP
11.3.1 准备工作
11.3.2 登录FTP服务器
11.3.3 获取服务器文件列表
11.3.4 下载和上传文件
11.3.5 使用PHP操控FTP
11.4 使用PHP发送电子邮件
11.4.1 准备工作
11.4.2 发送电子邮件
11.4.3 发送带附件的电子邮件
第12章 PHP与基于对象的编程(OOP)( 教学视频:35分钟)
12.1 基于过程vs.基于对象
12.1.1 为什么要用OOP
12.1.2 对象面面观
12.1.3 基于对象编程中常用术语
12.1.4 基于对象编程的编码规范
12.2 初识OOP
12.2.1 类和对象
12.2.2 类的扩展和改写
12.2.3 修饰词
12.2.4 一些魔术方法
12.3 进阶OOP
12.3.1 摸清类的情况
12.3.2 迭代器
12.3.3 数组对象
12.3.4 对象序列化
12.3.5 对象的克隆
12.3.6 方法链
12.4 设计模式
12.4.1 策略模式(Strategy)
12.4.2 工厂模式(Factory)
12.4.3 单体模式(Singleton)
12.4.4 观察员模式(Observer)
12.5 习题
第13章 PHP与MVC( 教学视频:17分钟)
13.1 MVC大起底
13.1.1 什么是MVC
13.1.2 为什么要使用MVC
13.1.3 常用的MVC框架
13.2 KISSMVC:一个简单的MVC框架
13.2.1 KISSMVC框架概述
13.2.2 框架入口(index.php)
13.2.3 控制器(KISS_Controller)
13.2.4 视图(KISS_View)
13.2.5 模型(KISS_Model)
13.2.6 使用控制器操控模型和视图
13.3 扩充框架:基于MVC的记账工具
13.3.1 数据规划
13.3.2 用户登录与验证
13.3.3 用户注册
13.3.4 添加收入和支出记录
13.3.5 批量添加收入和支出记录
13.3.6 查看数据记录
13.3.7 控制台
13.4 习题
第5篇 开源PHP应用
第14章 常见开源的PHP应用( 教学视频:4分钟)
14.1 WordPress
14.1.1 安装WordPress
14.1.2 使用QuickPress发布一条博客
14.1.3 修改已发布的博客
14.1.4 定制页面
14.1.5 添加博客分类
14.1.6 管理导航菜单
14.1.7 管理前台主题
14.1.8 小结
14.2 Drupal
14.2.1 安装Drupal
14.2.2 了解Drupal的使用方法
14.2.3 管理站点内容
14.2.4 管理站点结构
14.2.5 管理用户
14.2.6 小结