细说PHP 第4版_2019.7_1高洛峰高清可复制PDF电子书

本书第3版《跟兄弟连学PHP》荣获电子工业出版社2016年度好书称号!

内容简介
  本书是畅销书升级版,全书共分为28章,每章都是PHP独立知识点的总结,全部以现在最新的PHP7以上版本应用语法为主。内容涵盖了动态网站开发所需要的后端全栈技术、PHP的常用功能模块和实用技巧、MySQL和Redis两种数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Web开发的设计模式、自定义接口技术、全球应用排行第一的Laravel5.5框架技术,并专门组建专业的开发团队为本书重新开发商业项目EUDPlayer作为案例等。每章都有大量的实用示例及详尽的注释,以加速读者的理解和学习,并为本书单独开发一个微信小程序(图书兄弟),提供和章节配套的精制视频教程、案例和课件下载、扩展文章、章节测试等多方位内容。 对于PHP应用开发的新手而言,本书不失为一本好的入门教材,内容既实用又全面,所有实例都可以在开发中直接应用,并辅以配套的视频教程,使读者轻松掌握所学知识。另外,本书也适合有一定基础的网络开发人员和网络爱好者,以及大中专院校的师生阅读与参考。不仅可以作为PHP开发的学习用书,还可以作为从事Web开发的程序员的参考用书和必备手册。对于行家来说,本书也是一本难得的参考手册,读者必将从中获益。
作者简介
  IT兄弟连【易第优(北京)科技股份有限公司】副总裁,PHP中文网(php.cn)首席专家,拥有十多年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务,具有扎实的技术功底。国内资深技术讲师,腾讯网络人气名人讲师,累计授课长达一万课时以上,培养了近百名IT名师,培训数千名学员成功走向IT岗位。熟悉掌握当前应用的各种主流编程语言和数据库,其中,对Web系统开发深有研究,近年来致力于推广开源的PHP技术。
目录
作者简介
推荐序
前言
第1章 LAMP网站构建
1.1 Web概述
1.1.1 Web应用的优势
1.1.2 Web 2.0时代的互联网
1.1.3 Web开发标准
1.1.4 认识脚本语言
1.2 动态网站开发所需的Web构件
1.2.1 客户端浏览器
1.2.2 超文本标记语言(HTML)
1.2.3 层叠样式表(CSS)
1.2.4 客户端脚本编程语言JavaScript
1.2.5 Web服务器
1.2.6 服务器端编程语言
1.2.7 数据库管理系统
1.3 几种主流的Web应用程序平台
1.3.1 Web应用程序开发平台对比分析
1.3.2 动态网站开发平台技术比较
1.4 HTTP协议与Web的关系
1.4.1 HTTP协议概述
1.4.2 HTTP协议结构
1.4.3 HTTP请求消息
1.4.4 HTTP响应消息
1.4.5 HTTPS是什么
1.4.6 URL概述
1.5 Web的工作原理
1.5.1 情景1:不带应用程序服务器和数据库的服务器
1.5.2 情景2:带应用程序服务器的Web服务器
1.5.3 情景3:浏览器访问服务器端的数据库
1.6 LAMP网站开发组合概述
1.6.1 Linux操作系统
1.6.2 Web服务器Apache
1.6.3 MySQL数据库管理系统
1.6.4 PHP后台脚本编程语言
1.6.5 LAMP的发展趋势
1.6.6 Web的未来发展
1.7 小结
第2章 PHP的应用与发展
2.1 PHP是什么
2.1.1 从认识PHP开始
2.1.2 PHP都能做什么
2.2 PHP的应用
2.2.1 开发网站和移动网站的应用
2.2.2 在企业内部信息化系统中的应用
2.2.3 在App接口开发方面的应用
2.2.4 对微信公众平台二次开发的应用
2.2.5 微信小程序开发应用
2.2.6 PHP在其他方面的应用
2.3 PHP的开发优势
2.3.1 简单易学
2.3.2 开发效率高
2.3.3 开发成本低
2.3.4 程序执行效率高
2.3.5 安全性良好
2.3.6 功能强大
2.3.7 可选择性多
2.4 PHP的发展
2.4.1 PHP的诞生
2.4.2 PHP的迭代过程
2.4.3 PHP的现在
2.4.4 PHP的未来
2.5 如何学习PHP
2.5.1 确定学习的目标
2.5.2 PHP学习线路图
2.5.3 坚持动手实验
2.5.4 Bug解决之道
2.5.5 看教学视频,让学习变得简单
2.5.6 优秀的Web程序员是怎样练成的
2.6 小结
第3章 从搭建你的PHP开发环境开始
3.1 几种常见的PHP环境安装方式
3.1.1 在Linux系统上以源代码包的方式安装环境
3.1.2 在Windows系统上安装Web工作环境
3.1.3 搭建学习型的PHP工作环境
3.2 环境安装对操作系统的选择
3.2.1 选择网站运营的操作系统
3.2.2 选择网站开发的操作系统
3.3 安装集成PHP开发环境
3.3.1 安装前准备
3.3.2 安装步骤
3.3.3 环境测试
3.4 集成环境中各服务器的配置
3.4.1 Apache配置
3.4.2 改变文档根目录www的位置
3.4.3 修改PHP的默认配置
3.4.4 phpMyAdmin的应用
3.4.5 修改MySQL默认的访问权限
3.5 小结
第4章 PHP的基本语法
4.1 第一个PHP脚本程序
4.2 PHP语言标记
4.2.1 将PHP代码嵌入HTML中的位置
4.2.2 解读开始和结束标记
4.3 指令分隔符“分号”
4.4 程序注释
4.5 在程序中使用空白的处理
4.6 变量
4.6.1 变量的声明
4.6.2 变量的命名
4.6.3 可变变量
4.6.4 变量的引用赋值
4.7 变量的类型
4.7.1 类型介绍
4.7.2 布尔型(boolean)
4.7.3 整型(integer)
4.7.4 浮点型(float或double)
4.7.5 字符串(string)
4.7.6 数组(array)
4.7.7 对象(object)
4.7.8 资源类型(resource)
4.7.9 NULL类型
4.7.10 伪类型介绍
4.8 数据类型之间相互转换
4.8.1 自动类型转换
4.8.2 强制类型转换
4.8.3 类型转换细节
4.8.4 变量类型的测试函数
4.9 常量
4.9.1 常量的定义和使用
4.9.2 常量和变量
4.9.3 PHP新版本可以使用表达式定义常量
4.9.4 define()和const的区别
4.9.5 系统中的预定义常量
4.9.6 PHP中的魔术常量
4.10 PHP中的运算符
4.10.1 算术运算符
4.10.2 字符串运算符
4.10.3 赋值运算符
4.10.4 比较运算符
4.10.5 逻辑运算符
4.10.6 位运算符
4.10.7 其他运算符
4.10.8 运算符的优先级
4.11 表达式
4.12 容易混淆的特殊值
4.13 小结
第5章 PHP的流程控制结构
5.1 分支结构
5.1.1 单一条件分支结构(if)
5.1.2 双向条件分支结构(else子句)
5.1.3 多向条件分支结构(elseif子句)
5.1.4 多向条件分支结构(switch语句)
5.1.5 巢状条件分支结构
5.1.6 条件分支结构实例应用(简单计算器)
5.2 循环结构
5.2.1 while语句
5.2.2 do…while循环
5.2.3 for语句
5.3 特殊的流程控制语句
5.3.1 break语句
5.3.2 continue语句
5.3.3 exit语句
5.4 PHP的新版特性——goto语句
5.5 小结
第6章 PHP的函数应用
6.1 函数的定义
6.2 自定义函数
6.2.1 函数的声明
6.2.2 函数的调用
6.2.3 函数的参数
6.2.4 函数的返回值
6.2.5 标量类型声明
6.3 函数的工作原理和结构化编程
6.4 PHP变量的范围
6.4.1 局部变量
6.4.2 全局变量
6.4.3 静态变量
6.5 声明及应用各种形式的PHP函数
6.5.1 常规参数的函数
6.5.2 伪类型参数的函数
6.5.3 引用参数的函数
6.5.4 默认参数的函数
6.5.5 可变个数参数的函数
6.5.6 回调函数
6.6 递归函数
6.7 使用自定义函数库
6.8 PHP匿名函数和闭包
6.9 小结
第7章 PHP中的数组与数据结构
7.1 数组的分类
7.2 数组的定义
7.2.1 以直接赋值的方式声明数组
7.2.2 使用array()语言结构新建数组
7.2.3 数组简写语法
7.2.4 多维数组的声明
7.3 数组的遍历
7.3.1 使用for语句循环遍历数组
7.3.2 联合使用list( )、each( )和while循环遍历数组
7.3.3 使用foreach语句遍历数组
7.3.4 使用数组的内部指针控制函数遍历数组
7.4 预定义数组
7.4.1 服务器变量:$_SERVER
7.4.2 环境变量:$_ENV
7.4.3 URL GET变量:$_GET
7.4.4 HTTP POST变量:$_POST
7.4.5 request变量:$_REQUEST
7.4.6 HTTP文件上传变量:$_FILES
7.4.7 HTTP Cookies:$_COOKIE
7.4.8 Session变量:$_SESSION
7.4.9 Global变量:$GLOBALS
7.5 数组的相关处理函数
7.5.1 数组的键/值操作函数
7.5.2 统计数组元素的个数和唯一性
7.5.3 使用回调函数处理数组的函数
7.5.4 数组的排序函数
7.5.5 拆分、合并、分解和接合数组
7.5.6 数组与数据结构
7.5.7 其他有用的数组处理函数
7.6 操作PHP数组需要注意的一些细节
7.6.1 数组运算符号
7.6.2 删除数组中的元素
7.6.3 关于数组下标的注意事项
7.7 小结
第8章 PHP面向对象的程序设计
8.1 面向对象概述
8.1.1 类和对象之间的关系
8.1.2 面向对象的程序设计
8.2 如何抽象一个类
8.2.1 类的声明
8.2.2 成员属性
8.2.3 成员方法
8.3 通过类实例化对象
8.3.1 实例化对象
8.3.2 对象类型在内存中的分配
8.3.3 对象中成员的访问
8.3.4 特殊的对象引用“$this”
8.3.5 构造方法与析构方法
8.4 封装性
8.4.1 设置私有成员
8.4.2 私有成员的访问
8.4.3 __set()、__get()、__isset()和__unset()4个方法
8.5 继承性
8.5.1 类继承的应用
8.5.2 访问类型控制
8.5.3 子类中重载父类的方法
8.6 常见的关键字和魔术方法
8.6.1 final关键字的应用
8.6.2 static关键字的使用
8.6.3 单态设计模式
8.6.4 const关键字
8.6.5 instanceof关键字
8.6.6 克隆对象
8.6.7 类中通用的方法_ _toString()
8.6.8 PHP 7新加入的方法_ _ debugInfo()
8.6.9 _ _call()方法的应用
8.6.10 自动加载类
8.6.11 对象串行化
8.7 抽象类与接口
8.7.1 抽象类
8.7.2 接口技术
8.8 多态性的应用
8.9 PHP 5.4的Trait特性
8.9.1 Trait的声明
8.9.2 Trait的基本使用
8.10 PHP 7的匿名类
8.10.1 匿名类的声明
8.10.2 匿名类的应用
8.11 PHP 5.3新增加的命名空间
8.11.1 命名空间的基本应用
8.11.2 命名空间的子空间和公共空间
8.11.3 命名空间中的名称和术语
8.11.4 别名和导入
8.12 面向对象版图形计算器
8.12.1 需求分析
8.12.2 功能设计及实现
8.12.3 类的组织架构
8.13 小结
第9章 字符串处理
9.1 字符串的处理介绍
9.1.1 字符串的处理方式
9.1.2 字符串类型的特点
9.1.3 双引号中的变量解析总结
9.2 常用的字符串输出函数
9.3 常用的字符串格式化函数
9.3.1 去除空格和字符串填补函数
9.3.2 字符串大小写的转换
9.3.3 和HTML标签相关的字符串格式化
9.3.4 其他字符串格式化函数
9.4 字符串比较函数
9.4.1 按字节顺序进行字符串比较
9.4.2 按自然排序进行字符串比较
9.5 小结
第10章 正则表达式
10.1 正则表达式简介
10.2 正则表达式的语法规则
10.2.1 定界符
10.2.2 原子
10.2.3 元字符
10.2.4 模式修正符
10.3 与Perl兼容的正则表达式函数
10.3.1 字符串的匹配与查找
10.3.2 字符串的替换
10.3.3 字符串的分割和连接
10.4 文章发布操作示例
10.5 小结
第11章 PHP的错误和异常处理
11.1 错误处理
11.1.1 错误报告级别
11.1.2 调整错误报告级别
11.1.3 使用trigger_error()函数代替die()函数
11.1.4 自定义错误处理
11.1.5 写错误日志
11.2 异常处理
11.2.1 异常处理实现
11.2.2 扩展PHP内置的异常处理类
11.2.3 捕获多个异常
11.2.4 PHP异常处理新特性
11.3 小结
第12章 PHP的日期和时间
12.1 UNIX时间戳
12.1.1 将日期和时间转变成UNIX时间戳
12.1.2 日期的计算
12.2 在PHP中获取日期和时间
12.2.1 调用getdate()函数取得日期和时间信息
12.2.2 日期和时间格式化输出
12.3 修改PHP的默认时区
12.4 使用微秒计算PHP脚本执行时间
12.5 日历类
12.6 小结
第13章 文件系统处理
13.1 文件系统概述
13.1.1 文件类型
13.1.2 文件的属性
13.2 目录的基本操作
13.2.1 解析目录路径
13.2.2 遍历目录
13.2.3 统计目录大小
13.2.4 建立和删除目录
13.2.5 复制目录
13.3 文件的基本操作
13.3.1 文件的打开与关闭
13.3.2 写入文件
13.3.3 读取文件内容
13.3.4 访问远程文件
13.3.5 移动文件指针
13.3.6 文件的锁定机制
13.3.7 文件的一些基本操作函数
13.4 文件的上传与下载
13.4.1 文件上传
13.4.2 处理多个文件上传
13.4.3 文件下载
13.5 设计经典的文件上传类
13.5.1 需求分析
13.5.2 程序设计
13.5.3 文件上传类代码实现
13.5.4 文件上传类的应用过程
13.6 小结
第14章 PHP动态图像处理
14.1 PHP中GD库的使用
14.1.1 画布管理
14.1.2 设置颜色
14.1.3 生成图像
14.1.4 绘制图像
14.1.5 在图像中绘制文字
14.2 设计经典的验证码类
14.2.1 设计验证码类
14.2.2 应用验证码类的实例对象
14.2.3 表单中应用验证码
14.2.4 实例演示
14.3 PHP图片处理
14.3.1 图片背景管理
14.3.2 图片缩放
14.3.3 图片裁剪
14.3.4 添加图片水印
14.3.5 图片旋转和翻转
14.4 设计经典的图像处理类
14.4.1 需求分析
14.4.2 程序设计
14.4.3 图像处理类代码实现
14.4.4 图像处理类的应用过程
14.5 小结
第15章 MySQL数据库概述
15.1 数据库的应用
15.1.1 数据库在Web开发中的重要地位
15.1.2 为什么PHP会选择MySQL作为自己的黄金搭档
15.1.3 PHP和MySQL的合作方式
15.1.4 结构化查询语言SQL
15.2 MySQL数据库的常见操作
15.2.1 MySQL数据库的连接与关闭
15.2.2 创建新用户并授权
15.2.3 创建数据库
15.2.4 创建数据表
15.2.5 数据表内容的简单管理
15.3 小结
第16章 MySQL数据表的设计
16.1 数据表(Table)
16.2 数据值和列类型
16.2.1 数值类的数据列类型
16.2.2 字符串类的数据列类型
16.2.3 日期和时间类的数据列类型
16.2.4 NULL值
16.2.5 类型转换
16.3 数据字段属性
16.4 数据表对象管理
16.4.1 创建表(CREATE TABLE)
16.4.2 修改表(ALTER TABLE)
16.4.3 删除表(DROP TABLE)
16.5 数据表的类型及存储位置
16.5.1 MyISAM数据表
16.5.2 InnoDB数据表
16.5.3 选择InnoDB还是MyISAM数据表类型
16.5.4 数据表的存储位置
16.6 数据表的默认字符集
16.6.1 字符集
16.6.2 字符集支持原理
16.6.3 创建数据对象时修改字符集
16.7 创建索引
16.7.1 主键索引(PRIMARY KEY)
16.7.2 唯一索引(UNIQUE)
16.7.3 常规索引(INDEX)
16.7.4 全文索引(FULLTEXT)
16.8 数据库的设计技巧
16.8.1 数据库的设计要求
16.8.2 命名的技巧
16.8.3 数据库具体设计工作中的技巧
16.9 小结
第17章 SQL语句设计
17.1 操作数据表中的数据记录(DML)
17.1.1 使用INSERT语句向数据表中添加数据
17.1.2 使用UPDATE语句更新数据表中已存在的数据
17.1.3 使用DELETE语句删除数据表中不需要的数据记录
17.2 通过DQL命令查询数据表中的数据
17.2.1 选择特定的字段
17.2.2 使用AS子句为字段取别名
17.2.3 DISTINCT关键字的使用
17.2.4 在SELECT语句中使用表达式的列
17.2.5 使用WHERE子句按条件检索
17.2.6 根据空值(NULL)确定检索条件
17.2.7 使用BETWEEN AND进行范围比较查询
17.2.8 使用IN进行范围比较查询
17.2.9 使用LIKE进行模糊查询
17.2.10 多表查询(连接查询)
17.2.11 嵌套查询(子查询)
17.2.12 使用ORDER BY对查询结果排序
17.2.13 使用LIMIT限定结果行数
17.2.14 使用统计函数
17.2.15 使用GROUP BY对查询结果分组
17.3 查询优化
17.4 小结
第18章 数据库抽象层PDO
18.1 PHP访问MySQL数据库服务器的流程
18.2 PDO所支持的数据库
18.3 PDO的安装
18.4 创建PDO对象
18.4.1 以多种方式调用构造方法
18.4.2 PDO对象中的成员方法
18.5 使用PDO对象
18.5.1 调整PDO的行为属性
18.5.2 PDO处理PHP程序和数据库之间的数据类型转换
18.5.3 PDO的错误处理模式
18.5.4 使用PDO执行SQL语句
18.6 PDO对预处理语句的支持
18.6.1 了解PDOStatement对象
18.6.2 准备语句
18.6.3 绑定参数
18.6.4 执行准备好的查询
18.6.5 获取数据
18.6.6 大数据对象的存取
18.7 PDO的事务处理
18.7.1 MySQL的事务处理
18.7.2 构建事务处理的应用程序
18.8 设计完美分页类
18.8.1 需求分析
18.8.2 程序设计
18.8.3 完美分页类的代码实现
18.8.4 完美分页类的应用过程
18.9 管理表books实例
18.9.1 需求分析
18.9.2 程序设计
18.10 小结
本章必须掌握的知识点
本章需要了解的内容
本章需要拓展的内容
第19章 MemCache管理与应用
19.1 MemCache概述
19.1.1 初识MemCache
19.1.2 MemCache在Web中的应用
19.2 memcached的安装及管理
19.2.1 Linux下安装MemCache软件
19.2.2 Windows下安装MemCache软件
19.2.3 memcached服务器的管理
19.3 使用Telnet作为memcached的客户端管理
19.3.1 连接memcached服务器
19.3.2 基本的memcached客户端命令
19.3.3 查看当前memcached服务器的运行状态信息
19.3.4 数据管理指令
19.4 PHP的memcached管理接口
19.4.1 安装PHP中的MemCache应用程序扩展接口
19.4.2 MemCache应用程序扩展接口
19.4.3 MemCache的实例应用
19.5 memcached服务器的安全防护
19.6 小结
第20章 会话控制
20.1 为什么要使用会话控制
20.2 会话跟踪的方式
20.3 Cookie的应用
20.3.1 Cookie概述
20.3.2 向客户端计算机中设置Cookie
20.3.3 在PHP脚本中读取Cookie的资料内容
20.3.4 数组形态的Cookie应用
20.3.5 删除Cookie
20.3.6 基于Cookie的用户登录模块
20.4 Session的应用
20.4.1 Session概述
20.4.2 配置Session
20.4.3 Session的声明与使用
20.4.4 注册一个会话变量和读取Session
20.4.5 注销变量与销毁Session
20.4.6 Session的自动回收机制
20.4.7 传递Session ID
20.5 一个简单的邮件系统实例
20.5.1 为邮件系统准备数据
20.5.2 编码实现邮件系统
20.5.3 邮件系统执行说明
20.6 自定义Session处理方式
20.6.1 自定义Session的存储机制
20.6.2 使用数据库处理Session信息
20.6.3 使用memcached处理Session信息
20.7 小结
第21章 Redis的管理与应用
21.1 从认识Redis开始
21.1.1 Redis与其他数据库和软件的对比
21.1.2 Redis的特点
21.1.3 使用Redis的理由
21.2 Redis环境安装及管理
21.2.1 安装Redis
21.2.2 启动Redis服务
21.2.3 Redis服务的性能测试
21.2.4 Redis服务的配置管理
21.3 Redis客户端管理
21.3.1 命令行客户端操作
21.3.2 安装PHP的Redis扩展
21.4 Redis服务器的基本操作
21.5 Redis的数据类型
21.6 PHP操作Redis的通用方法
21.7 Redis的字符串(String)类型
21.7.1 相关的命令操作
21.7.2 应用场景
21.7.3 使用Redis实现页面缓存
21.8 Redis的列表(List)类型
21.8.1 相关的命令操作
21.8.2 应用场景
21.8.3 “PHP+Redis”实现消息队列
21.9 Redis的集合(Set)类型
21.9.1 相关的命令操作
21.9.2 应用场景
21.9.3 “PHP+Redis”实现共同好友功能
21.10 Redis的Sorted Set有序集合类型
21.10.1 相关的命令操作
21.10.2 应用场景
21.10.3 “PHP+Redis”实现排行榜功能
21.11 Redis的哈希(hash)表类型
21.11.1 相关的命令操作
21.11.2 应用场景
21.11.3 使用Redis实现购物车功能
21.12 Redis订阅发布系统
21.12.1 Redis 发布订阅
21.12.2 Redis 发布订阅操作
21.13 Redis的事务处理机制
21.14 小结
第22章 PHP的CURL功能扩展模块
22.1 CURL功能扩展模块介绍
22.2 PHP的CURL功能扩展模块基本用法
22.3 CURL相关的功能选项
22.4 通过CURL扩展获取页面信息
22.5 通过CURL扩展用POST方法发送数据
22.6 通过CURL扩展上传文件
22.7 通过CURL模拟登录并获取数据
22.8 小结
第23章 自定义PHP接口规范
23.1 应用程序编程接口(API)
23.1.1 什么是接口
23.1.2 了解实现接口的几种方法
23.1.3 接口的应用和优势
23.2 接口实现的基础
23.2.1 实现接口的访问流程
23.2.2 处理接口的返回值
23.2.3 在程序中访问接口
23.3 接口的安全控制规范
23.3.1 API安全控制原则
23.3.2 API安全控制简单实现步骤
23.4 API的设计原则和规范
23.4.1 什么是RESTful风格的API
23.4.2 RESTful API应遵循的原则
23.5 创建RESTful规范 WebAPI框架
23.5.1 程序结构设计
23.5.2 架构详解
23.5.3 WebAPI框架应用
23.5.4 客户端访问API
23.6 使用第三方接口服务实例
23.6.1 查找API
23.6.2 查看API文档说明
23.6.3 获取接口的key
23.6.4 使用 PHP 代码请求接口
23.7 小结
第24章 PHP依赖管理工具Composer
24.1 认识Composer
24.1.1 什么是Composer
24.1.2 Composer的代码库在哪里
24.1.3 类库的规范
24.2 Composer的安装
24.2.1 安装前的准备
24.2.2 安装步骤
24.2.3 测试安装环境
24.3 Composer常用文件
24.3.1 vendor目录
24.3.2 composer.json文件
24.3.3 composer.lock文件
24.4 Composer常用命令
24.4.1 Composer基本命令的使用
24.4.2 Composer命令的运行流程
24.5 Composer应用案例
24.5.1 搜索需要的库
24.5.2 应用前准备
24.5.3 应用类库
24.6 小结
第25章 MVC模式与PHP框架
25.1 MVC模式在Web中的应用
25.1.1 MVC模式的工作原理
25.1.2 MVC模式的优缺点
25.2 PHP开发框架
25.2.1 什么是框架
25.2.2 为什么要用框架
25.2.3 框架和MVC模式的关系
25.2.4 流行的PHP框架比较
25.3 划分模块和操作
25.3.1 为项目划分模块
25.3.2 为模块设置操作
25.4 小结
第26章 简洁优雅的Laravel开发框架
26.1 认识Laravel框架
26.1.1 什么是Laravel框架
26.1.2 Laravel框架的功能特点
26.1.3 Laravel框架的技术特点
26.1.4 Laravel框架应用的重要性
26.1.5 Laravel框架的发展历程
26.2 安装Laravel
26.2.1 安装前准备
26.2.2 安装Laravel 5.5
26.2.3 Laravel框架的目录结构
26.2.4 初始化Laravel框架安装的一些设置
26.2.5 Laravel框架的Artisan工具
26.3 Laravel框架的工作流程
26.3.1 基本的工作流程
26.3.2 客户端
26.3.3 主入口文件
26.3.4 URL路由
26.3.5 控制器层(C)
26.3.6 中间件
26.3.7 数据库操作层(M)
26.3.8 视图层(V)
26.3.9 请求和响应
26.4 Laravel框架的核心服务容器
26.4.1 IoC 容器
26.4.2 了解Laravel框架的核心
26.4.3 注册自己的服务到容器中
26.4.4 门面(Facades)
26.4.5 使用Composer为Laravel框架安装扩展插件包
26.5 基于Laravel框架的Web应用实例
26.5.1 用户登录模块
26.5.2 后台管理平台模块
26.5.3 文章模块
26.5.4 搭建前台模块
26.5.5 评论模块
26.6 基于Laravel 5.5的API应用实例
26.6.1 构建接口模块
26.6.2 封装返回的统一消息
26.6.3 为API增加版本
26.6.4 API token认证
26.6.5 编写文档和测试
26.7 小结
第27章 项目开发实战——博客系统
27.1 项目介绍
27.2 需求分析
27.2.1 系统目标
27.2.2 系统功能结构
27.2.3 权限介绍
27.3 操作流程图
27.3.1 博客前台操作流程
27.3.2 博客后台操作流程
27.4 原型图
27.4.1 什么是原型图
27.4.2 原型图的分类
27.4.3 项目部分原型页面展示
27.5 博客项目的模块介绍
27.5.1 前台模块
27.5.2 后台模块
27.5.3 前后台模块思维导图
27.6 数据库设计说明
27.6.1 概念结构设计
27.6.2 通过实体得到ER图
27.6.3 逻辑结构设计
27.6.4 数据库物理结构设计
27.7 程序设计说明
27.7.1 环境部署
27.7.2 权限设置
27.7.3 项目目录结构
27.7.4 项目模块结构
27.7.5 项目程序结构
27.7.6 模型说明
27.7.7 自定义类及安装的组件
27.8 项目安装和部署
27.8.1 搭建虚拟主机
27.8.2 导入数据库
27.8.3 项目应用
27.9 本章作业
27.9.1 任务一:修改网站配置模块
27.9.2 任务二:添加友情链接模块
27.10 小结
第28章 在线教育系统EDUPlayer
28.1 项目背景
28.2 需求分析
28.2.1 系统目标
28.2.2 前后端分离架构
28.2.3 系统功能结构
28.2.4 权限介绍
28.3 操作流程
28.3.1 前台操作流程
28.3.2 后台操作流程
28.4 原型图
28.5 系统模块介绍
28.5.1 前台模块
28.5.2 后台模块
28.5.3 前台模块思维导图
28.5.4 后台模块思维导图
28.6 数据库设计说明
28.6.1 概念结构设计
28.6.2 通过实体获取ER图
28.6.3 Laravel 框架的数据表迁移工具
28.6.4 数据表详解
28.7 项目安装
28.7.1 环境依赖
28.7.2 环境安装之nginx
28.7.3 环境安装之PHP
28.7.4 环境安装之MySQL
28.7.5 环境安装之Redis
28.7.6 环境安装之Git
28.7.7 环境安装之Composer
28.7.8 项目下载及配置
28.7.9 虚拟主机配置
28.7.10 开启定时任务
28.7.11 Redis队列实现
28.7.12 安装成功
28.8 目录结构
28.8.1 根目录
28.8.2 app目录
28.9 依赖组件
28.10 二次开发注意事项
28.10.1 搜索参数和排序参数约束
28.10.2 关联加载约束
28.10.3 权限验证约束
28.10.4 开发新业务示例
28.11 小结
附录
附录A 编码规范
附录B PHP项目的安全和优化
附录C PHP5.3~PHP5.6中的新特性
反侵权盗版声明
前言
  前言
PHP 是一种开源的开发语言,具有程序开发速度快、运行快、技术本身学习快等快捷性的特点,无疑是当今Web开发中最佳的编程语言。在Web开发方面,与同类语言Java、Python及Go相比,PHP具有简易性、高安全性和执行灵活等优点,使用PHP开发的Web项目,在软件方面的投资成本较低、运行较稳定。虽然其他编程语言近些年在不断地挑战PHP的地位,但在Web开发中PHP一直是霸主。另外,随着移动互联网的应用普及及微信小程序的应用越来越火爆,现在越来越多的供应商、用户和企业都认识到,使用PHP开发的小程序更加具有竞争力,更加吸引客户。目前开发使用的PHP 7以上版本,无论从性能、质量还是价格上,都将成为企业和政府信息化必须考虑的开发语言。
本书分为28章,从PHP的行业发展和了解Web开发构件开始,包含了Web后端的全栈技术,并以PHP为主线,到可以完成一个标准化、高质量的商业项目为止。本书所有内容皆为当今Web项目开发必用的内容,涵盖了PHP的绝大多数知识点,并对于某一方面的介绍从多角度进行了延伸。本书全部技术点以PHP 7以上最流行的版本为主,详细地介绍了PHP及与其相关的Web技术,可以帮助读者在较短的时间内熟悉并掌握比较实用的PHP技术,其中包括PHP的语言语法、面向对象技术、关系型数据库MySQL、非关系型数据库Redis、数据库抽象层PDO、全球应用排名第一的Laravel框架、PHP的包管理工具Composer、标准的RESTful Web API技术等内容,实用性非常强。本书所涉及的实例全部以特定的应用为基础,读者在学习和工作的过程中,可以直接应用本书给出的一些独立模块和编程思想。
本书编写的宗旨是让读者能拥有一本PHP学习和开发使用的最好书籍,章节虽然不是很多,但对所罗列出的每个知识点都进行了细化和延伸,并力求讲解到位,让读者可以轻松地读懂。本书所介绍的知识点不需要借助其他任何书籍进行辅助和补充,对于每个知识点都有对应翔实的、可运行的配套代码,对所有实例代码都附有详细注释、说明及运行效果图。在大部分章节的最后一节都结合一个实用的案例,把该章涉及的零散知识点串在一起进行分析总结,步骤详细,可操作性强。另外,每个章节都有辅助的微信小程序(图书兄弟),为读者安排了大量的扩展知识和配套自测试题及作业,并有配套的视频教程,能更好地帮助读者掌握技术点,提高实际编程能力,寓学于练。本书最后呈现了两套完整的项目文档和源码,基中一套是由专业的开发团队专门为本书设计开发的一个完整的商业项目案例,不管用于学习还是开发,都极具参考和使用价值。通过项目案例,让读者心领神会,进入开发实战中。
本书是畅销书《细说PHP》升级版。自2009年第1版首次印刷以来,前三个版本先后荣获51CTO“最受读者喜爱的原创IT技术图书奖”、电子工业出版社“2013年度畅销 IT图书奖”和“电子工业出版社2016年度好书”等数十项荣誉。
本次升级版,根据PHP语言的升级和当前Web开发的新特性,以及企业当前的应用,还有读者的反馈和调研,增加了一些新内容,抛弃了一些过时的技术,所有实例都经过了反复测试,每句话都进行了反复推敲。本次升级版变动的几个重要内容如下:
(1)根据《跟兄弟连学PHP》读者的反馈,在本次改版中对大部分内容进行了重新整理和优化,更改约1/3的内容。
(2)专门为本书开发了一套小程序(图书兄弟),为每章全方位配套大量的学习资源。
(3)将PHP所有章节的内容都升级到当前最流行的PHP 7以上版本。
(4)根据目前项目开发模式增加流行的Redis、Composer、Laravel、RESTful API等技术点,讲解全面。
(5)由专业的项目开发团队为本书专门开发一套商业项目EDUPlayer作为教学案例。不管从程序架构还是单个模块的实现,都采用当前最流行的技术,并经过反复测试,完全可以作为企业项目上线使用,具有极大的参考和使用价值。
(6)书中的每个应用实例都做到了最优,可以直接应用在实际项目开发中。
超强资源配套学习(图书兄弟)小程序
“图书兄弟”是为了方便读者高效率学习本书内容,为读者特别开发的一个辅助学习的微信小程序,该小程序提供了丰富的学习资源,大幅扩展了本书内容,为每个章节都配套提供了八大主题,读者在注册小程序后即可免费使用。读者只需要扫描右方二维码,注册后即可进入小程序主界面,按书中目录结构学习,也可以通过每章的二维码直接定位到学习内容。读者还能在“图书兄弟”小程序中与小伙伴们和编者进行交流。
“图书兄弟”小程序配套资源说明
“图书兄弟”小程序完全免费,此外,小程序中的内容会不断更新和扩充,敬请读者关注。
本书适合读者
PHP专业开发人员。
接受PHP培训的学员。
Web开发爱好者。
网站维护及管理人员。
初级或专业的网站开发人员。
大中专院校的教师及培训中心的讲师。
进行毕业设计和对PHP感兴趣的学生。
从事JSP、Python和Go想转向PHP开发的程序员。
本书由高洛峰编著,参加编写及审校工作的人员有孙健魁、李强、赵帅、王建双、徐枭雄、王宝龙、刘万涛、毕恩竹、王猛、李子星、焦华峰、管长龙、高晓风、郭彩军和IT兄弟连项目开发部门全体成员,在此一并表示感谢。
精彩书摘
  第1章 LAMP网站构建
本章对动态网站构建做了比较全面的介绍,帮助读者对建站有一个宏观的了解,例如,动态网站隶属于哪一种架构的软件、开发它都需要掌握哪些 Web 构件,并对每个 Web 构件在动态网站开发中扮演的角色、运行原理及运行的条件做了说明。本章还从不同角度对比介绍了不同的网站开发平台,其中对 LAMP平台(Linux、Apache、MySQL和PHP的组合),从版本发展、行业应用、市场优势和产品特性等方面做了重点介绍。LAMP组合是日后动态网站软件构建的发展趋势,通过本章的学习,读者能够了解LAMP平台,并为PHP的学习提前准备需要了解的内容。如果要掌握如何构建一个专业的动态网站,请不要跳过本章。本章不包含任何程序代码,专业技术词语也并不是很多,阅读起来容易理解。所以,请将这一章全部读完吧!本章不仅有你必须掌握的专业术语,也会对你后期的学习大有帮助,可以指引你在Web开发方面的学习方向。
1.1 Web概述
我们称Web为网页,网页组成了网站。网站也是软件,隶属于B/S(浏览器/服务器)结构的 Web 系统开发类型。建站属于程序员的工作,据统计已有60%以上的程序员从事Web软件开发。网页里面存在着无数的精彩,你可以听音乐、看视频,还可以处理数据等。网页实际上是一个文件,它存放在世界某个角落的某一台或多台计算机中(服务器),而这台计算机必须是与互联网相连的。网页经由网址(URL)来识别与存取,当我们在浏览器中输入网址后,经过一段复杂而又快速的程序,网页文件会被传送到你的计算机中(客户端),然后再通过浏览器解释网页的内容,再展示到你的眼前。
文字与图片是构成一个网页的两个最基本的元素。你可以简单地理解为:文字就是网页的内容;图片就是使网页美观。除此之外,网页的元素还包括动画、音乐、视频、程序等。在网页上单击鼠标右键,在弹出的快捷菜单中选择“查看源文件”命令,就可以通过记事本看到网页的实际内容。你可以看到,网页实际上只是一个纯文本文件,它通过各式各样的标记对页面上的文字、图片、表格、声音等元素进行描述(如字体、颜色、大小),而浏览器则对这些标记进行解释并生成页面,于是就得到你现在所看到的画面。为什么在源文件中看不到任何图片?网页文件中存放的只是图片的链接位置,而图片文件与网页文件是互相独立存放的,甚至可以不在同一台计算机上。通常我们看到的网页,都是以.htm或.html扩展名结尾的文件,俗称HTML文件。不同的扩展名,分别代表不同类型的网页文件,例如CGI、ASP、PHP、JSP等。
网页有多种分类,传统意义上的分类是动态和静态的页面。原则上讲,静态页面多通过网站设计软件来进行重新设计和更改,相对比较滞后,当然有网站管理系统也可以生成静态页面,我们称这种静态页面为伪静态。动态页面是通过网页脚本与语言自动处理、自动更新的页面,比如说贴吧,它就是通过网站服务器运行程序,自动处理信息,按照流程更新网页。Web的特点如下。
1.图形化
Web 非常流行的一个很重要的原因,就在于它可以在一页上同时显示色彩丰富的图形和文本。在Web之前,网上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性,同时, Web是非常易于导航的,只需要从一个链接跳到另一个链接,就可以在各页各站点之间进行浏览了。
2.与平台无关
无论你的系统平台是什么,都可以通过网络访问网站。浏览网页对你的系统平台没有什么限制。无论是通过Windows平台、Linux/UNIX平台、Mac平台还是各种智能手机等移动设备,以及其他平台,我们都可以访问网站。对网站的访问是通过浏览器软件来实现的。
3.分布式的
大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web而言,没有必要把所有信息都放在一起。信息可以放在不同的站点上,只需要在浏览器中指明这个站点的位置就可以了,这样即使在物理上并不一定在一个站点的信息,而在逻辑上是一体化的,从用户的角度来看这些信息是一体的。
4.动态的
由于各 Web 站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新,如某个协议的改变状况、公司的广告等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的、经常更新的,这一点是由信息的提供者保证的。
5.交互的
Web的交互性首先表现在它的超链接上,用户的浏览顺序和所到站点完全由他自己决定。另外,通过“表单”的形式可以从服务器方获得动态的信息。用户通过填写表单可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。

 

资源下载资源下载价格1.99立即支付
客服QQ:4815293
客服邮件:caimige@email.cn
资源下载资源下载价格1.99立即支付
客服QQ:4815293
客服邮件:caimige@email.cn
1

评论8

  1. 已经购买,网盘链接失效了,麻烦看一下
    kewang0878已购买11-03 回复
    • sorry,我的锅,不是失效了,是我链接写多了,已经更正,非常抱歉
      eben已购买11-22 回复
  2. 支付页找了两个人都点不开
    cc12345601-15 回复
    • 可能只能使用电脑进行支付
      eben已购买05-12 回复
  3. 已提交了,怎么没有啊,过期
    15914176710已购买08-09 回复
    • 对不起,好久都没有上了,晚点直接发邮件给你
      eben已购买08-17 回复
没有账号? 注册  忘记密码?