机械工业出版社,│ ├─PHP教程 1.1.4 Web开发标准

作者: 编程  发布:2019-09-26

前面的话

  前端工程师为什么要学习php?是因为招聘要求吗?这只是一方面

  一开始,我对学习php是抵触的,毕竟javascript已经够自己喝一壶的了,再去学习php,可能让自己喝醉。但是,在学习javascript的日期对象Date过程中发现,使用本机的Date()对象,得到的只是客户端时间,而实际我们需要的是服务器时间,这是学习php的原因之一

  ES6许多新增的语法,其实在php中是早已存在的,比如常量。所以学习php的语法,可以通过类比的方法,对javascript语法有更深的理解,这是学习php的原因之二

  nodeJs是用javascript写后端的技术,所以学习php,对nodeJs学习是有帮助的,这是学习php的原因之三

  在学习ajax时,如果不能写出简单的后端来配合前端,是无法真正去理解ajax的,这是学习php的原因之四

  当然,如果要像自己抠javascript一样,去抠php的细节,是不科学的,毕竟我的目标是前端。所以,自己将php的基础语法和与前端相关的内容进行了学习

  小火柴将php的知识体系进行了梳理和归纳,总结成以下目录

PHP 学习目录

├─PHP视频教程 1 LAMP网站构建

│ ├─PHP教程 1.1.1 新版视频形式介绍
│ ├─PHP教程 1.1.2 BS结构软件类型介绍
│ ├─PHP教程 1.1.3 现在是Web2.0的时代
│ ├─PHP教程 1.1.4 Web开发标准
│ ├─PHP教程 1.1.5 认识脚本语言
│ ├─PHP教程 1.2.1 动态网站开发所需的web构件1
│ ├─PHP教程 1.2.2 动态网站开发所需的web构件2
│ ├─PHP教程 1.2.3 动态网站开发所需的web构件3
│ ├─PHP教程 1.3.1 Web的工作原理
│ ├─PHP教程 1.3.2 Web工作原理之url解析
│ ├─PHP教程 1.3.3 Web工作原理之动态网站解析
│ ├─PHP教程 1.4.1 介绍了三种主流的Web应用平台
│ ├─PHP教程 1.4.2 主要三种Web平台进行对比
│ └─PHP教程 1.5.1 介绍LAMP网站开发组合概述及发展趋势

├─PHP视频教程 2 从搭建你的PHP开发环境开始

│ ├─PHP教程 2.1.1 PHP的几种运行环境
│ ├─PHP教程 2.2.1 安装PHP的运行环境
│ └─PHP教程 2.2.2 PHP运行环境的介绍

├─PHP视频教程 3 PHP基本语法

│ ├─PHP教程 3.1.1 PHP的功能介绍
│ ├─PHP教程 3.2.1 第一个PHP程序
│ ├─PHP教程 3.3.1 PHP语言标记及指令分隔符“分号”
│ ├─PHP教程 3.3.2 PHP程序注释及空白的使用
│ ├─PHP教程 3.4.1 PHP变量在计算机内存中的存储方式
│ ├─PHP教程 3.4.2 PHP变量的声明及变量的命名
│ ├─PHP教程 3.4.3 PHP可变变量
│ ├─PHP教程 3.4.4 PHP引用变量1
│ ├─PHP教程 3.4.5 PHP引用变量2
│ ├─PHP教程 3.5.1 PHP变量类型的介绍
│ ├─PHP教程 3.5.2 PHP布尔类型(boolean)
│ ├─PHP教程 3.5.3 PHP整型(integer)和浮点型(float或double)
│ ├─PHP教程 3.5.4 PHP字符串的声明及定义
│ ├─PHP教程 3.5.5 PHP字符串中单双引号的区别
│ ├─PHP教程 3.5.6 PHP字符串的定界符声明
│ ├─PHP教程 3.5.7 PHP变量的其它数据类型
│ ├─PHP教程 3.6.1 PHP数据类型转换及强制类型转换
│ ├─PHP教程 3.6.2 PHP数据类型转换之自动类型转换
│ ├─PHP教程 3.7.1 PHP常量的介绍
│ ├─PHP教程 3.7.2 PHP常量的声明和使用
│ ├─PHP教程 3.7.3 预定义常量
│ ├─PHP教程 3.8.1 PHP中的运算符号有哪些
│ ├─PHP教程 3.8.2 PHP算术运算符
│ ├─PHP教程 3.8.3 PHP自加自减运算
│ ├─PHP教程 3.8.4 PHP自加自减运算需要注意的地方
│ ├─PHP教程 3.8.5 PHP赋值运算符
│ ├─PHP教程 3.8.6 PHP比较运算符
│ ├─PHP教程 3.8.7 PHP逻辑运算符
│ ├─PHP教程 3.8.8 PHP逻辑运算符的特性(短路)
│ ├─PHP教程 3.8.9 PHP中的位运算符1
│ ├─PHP教程 3.8.10 PHP中的位运算符2
│ ├─PHP教程 3.8.11 PHP中的位运算符3
│ ├─PHP教程 3.8.12 PHP其他运算符
│ └─PHP教程 3.8.13 PHP运算符的优先级和表达式

├─PHP视频教程 4 PHP的流程控制结构

│ ├─PHP教程 4.1.1 PHP流程控制概述
│ ├─PHP教程 4.1.2 PHP分支结构
│ ├─PHP教程 4.2.1 PHP单一条件分支结构和双向条件分支结构
│ ├─PHP教程 4.2.2 58PHP多向条件分支结构(elseif子句)
│ ├─PHP教程 4.2.3 PHP多向条件分支(switch语句)1
│ ├─PHP教程 4.2.4 PHP多向条件分支(switch语句)2
│ ├─PHP教程 4.2.5 PHP巢状分支结构
│ ├─PHP教程 4.2.6 PHP实例(简单计算器)1
│ ├─PHP教程 4.2.7 PHP实例(简单计算器)2
│ ├─PHP教程 4.2.8 PHP实例(简单计算器)3
│ ├─PHP教程 4.2.9 PHP实例(简单计算器)4
│ ├─PHP教程 4.3.1 PHP循环结构的介绍
│ ├─PHP教程 4.3.2 PHP循环结构while语句
│ ├─PHP教程 4.3.3 PHP循环结构while的应用
│ ├─PHP教程 4.3.4 PHP循环结构do-while语句
│ ├─PHP教程 4.3.5 PHP循环结构for语句
│ ├─PHP教程 4.3.6 PHP循环结构for语句的应用
│ ├─PHP教程 4.3.7 特殊流程控制语句
│ └─PHP教程 4.3.8 PHP流程控制语句goto

├─PHP视频教程 5 PHP的函数应用

│ ├─PHP教程 5.1.1 PHP函数的定义和应用
│ ├─PHP教程 5.2.1 PHP自定义函数的语法格式
│ ├─PHP教程 5.2.2 PHP自定义函数中的参数
│ ├─PHP教程 5.2.3 PHP自定义函数中的返回值(return)
│ ├─PHP教程 5.3.1 PHP局部变量
│ ├─PHP教程 5.3.2 PHP全局变量
│ ├─PHP教程 5.3.3 PHP静态变量
│ ├─PHP教程 5.4.1 PHP常规参数的函数
│ ├─PHP教程 5.4.2 PHP引用参数的函数
│ ├─PHP教程 5.4.3 PHP默认参数的函数
│ ├─PHP教程 5.4.4 PHP可变个数参数的函数
│ ├─PHP教程 5.4.5 PHP变量函数
│ ├─PHP教程 5.4.6 PHP回调函数
│ ├─PHP教程 5.4.7 PHP制作回调函数1
│ ├─PHP教程 5.4.8 PHP制作回调函数2
│ ├─PHP教程 5.4.9 PHP制作回调函数3
│ ├─PHP教程 5.4.10 PHP系统函数
│ ├─PHP教程 5.5.1 PHP递归函数
│ ├─PHP教程 5.6.1 PHP加载自定义的函数库
│ ├─PHP教程 5.7.1 PHP5.3的新特性匿名函数
│ ├─PHP教程 5.8.1 PHP闭包函数(closures)的概念
│ └─PHP教程 5.8.2 PHP闭包函数(closures)的特性

├─PHP视频教程 6 PHP中的数组与数据结构

│ ├─PHP教程 6.1.1 PHP数组的概述
│ ├─PHP教程 6.1.2 PHP数组的基本概念及分类
│ ├─PHP教程 6.2.1 PHP数组声明的特性
│ ├─PHP教程 6.2.2 PHP索引和关联数组及需要注意的细节
│ ├─PHP教程 6.2.3 PHP使用array()声明数组
│ ├─PHP教程 6.2.4 PHP删除数组中的值应用实例(猴子选大王)
│ ├─PHP教程 6.2.5 PHP二维数组
│ ├─PHP教程 6.2.6 PHP多维数组
│ ├─PHP教程 6.3.1 使用for循环遍历数组
│ ├─PHP教程 6.3.2 使用foreach语句遍历数组
│ ├─PHP教程 6.3.3 使用foreach语句遍历数组的应用
│ ├─PHP教程 6.3.4 list()函数的语法结构
│ ├─PHP教程 6.3.5 each()函数的特性
│ ├─PHP教程 6.3.6 使用list( )、each( )和while循环遍历数组
│ ├─PHP教程 6.3.7 使用数组的内部指针控制函数遍历数组
│ ├─PHP教程 6.4.1 PHP超全局数组(预定义变量)概述
│ ├─PHP教程 6.4.2 服务器变量$_SERVER和环境变量$_ENV
│ ├─PHP教程 6.4.3 PHP超全局数组介绍1
│ ├─PHP教程 6.4.4 PHP超全局数组介绍2
│ ├─PHP教程 6.5.1 PHP常用数组函数的分类
│ ├─PHP教程 6.5.2 PHP数组中和键值搜索相关的函数1
│ ├─PHP教程 6.5.3 PHP数组中和键值搜索相关的函数2
│ ├─PHP教程 6.5.4 PHP数组中和键值搜索相关的函数3
│ ├─PHP教程 6.5.5 PHP数组中统计数组元素的个数与唯一性的函数
│ ├─PHP教程 6.5.6 PHP使用回调函数处理数组的函数array_filter()
│ ├─PHP教程 6.5.7 PHP使用回调函数处理数组的函数array_walk()
│ ├─PHP教程 6.5.8 PHP使用回调函数处理数组的函数array_map()
│ ├─PHP教程 6.5.9 PHP中的冒泡(起泡)排序算法
│ ├─PHP教程 6.5.10 PHP二分法进行快速排序的原理
│ ├─PHP教程 6.5.11 使用PHP程序进一步理解快速排序法
│ ├─PHP教程 6.5.12 PHP数组的排序函数1
│ ├─PHP教程 6.5.13 PHP数组的排序函数2
│ ├─PHP教程 6.5.14 PHP数组的排序函数3
│ ├─PHP教程 6.5.15 PHP多维数组的排序函数
│ ├─PHP教程 6.5.16 PHP拆分、合并、分解与结合数组函数1
│ ├─PHP教程 6.5.17 PHP拆分、合并、分解与结合数组函数2
│ ├─PHP教程 6.5.18 PHP数组与数据结构的函数
│ └─PHP教程 6.5.19 PHP其他有用的数组处理函数

─PHP视频教程 7 PHP面向对象的程序设计

├─PHP教程 7.1.1 PHP面向对象之面向过程详解
├─PHP教程 7.1.2 PHP面向对象之面向对象编程思想详解
├─PHP教程 7.1.3 PHP面向对象的重要优势及案例分析
├─PHP教程 7.1.4 PHP类和对象之间的关系
├─PHP教程 7.2.1 PHP如何抽象一个类
├─PHP教程 7.2.2 PHP类中的成员属性和成员方法
├─PHP教程 7.3.1 PHP实例化对象
├─PHP教程 7.3.2 PHP画图理解对象在内存中的形式
├─PHP教程 7.3.3 特殊的对象引用”$this”
├─PHP教程 7.3.4 PHP构造方法
├─PHP教程 7.3.5 PHP析构方法
├─PHP教程 7.4.1 复习前面的面向对象知识
├─PHP教程 7.5.1 PHP面向对象封装性1
├─PHP教程 7.5.2 PHP面向对象封装性2](https://www.jianshu.com/p/2713d9252da4)
├─PHP教程 7.5.3 PHP面向对象封装性之魔术方法1)
├─PHP教程 7.5.4 PHP面向对象封装性之魔术方法2
├─PHP教程 7.6.1 PHP类的继承
├─PHP教程 7.6.2 PHP类的访问类型控制
├─PHP教程 7.6.3 PHP继承中的重载(覆盖)
├─PHP教程 7.7.1 PHP常见的关键字
├─PHP教程 7.7.2 static关键字的使用1
├─PHP教程 7.7.3 static关键字的使用2
├─PHP教程 7.7.4 单态(单例、单件)设计模式
├─PHP教程 7.7.5 const关键字
├─PHP教程 7.7.6 魔术方法__toString()
├─PHP教程 7.7.7 魔术方法__clone()
├─PHP教程 7.7.8 魔术方法__call()
├─PHP教程 7.7.9 对象串行化(序列化)1
├─PHP教程 7.7.10 对象串行化(序列化)2
├─PHP教程 7.7.11 PHP数组的串行化(JSON格式)
├─PHP教程 7.7.12 魔术方法__set_state()
├─PHP教程 7.7.13 PHP 5.3以后新增的魔术方法
├─PHP教程 7.7.14 自动加载类__autoload()
├─PHP教程 7.8.1 PHP抽象方法和抽象类1
├─PHP教程 7.8.2 PHP抽象方法和抽象类2
├─PHP教程 7.8.3 PHP面向对象接口技术
├─PHP教程 7.8.4 PHP接口应用的一些细节
├─PHP教程 7.8.5 PHP面象对象的特性多态
├─PHP教程 7.9.1 PHP多态的应用实例
├─PHP教程 7.10.1 PHP图形计算器需求分析
├─PHP教程 7.10.2 PHP图形计算器功能设计
├─PHP教程 7.10.3 PHP图形计算器主程序的实现
├─PHP教程 7.10.4 PHP图形计算器主程序的步骤及代码
├─PHP教程 7.10.5 PHP图形计算器主程序完成检验
├─PHP教程 7.11.1 与类有关的魔术常量和函数
├─PHP教程 7.12.1 PHP命名空间的概述
├─PHP教程 7.12.2 PHP定义子命名空间
├─PHP教程 7.12.3 PHP在同一文件中定义多个命名空间
├─PHP教程 7.12.4 PHP命名空间和动态语言特征
└─PHP教程 7.12.5 PHP使用命名空间:别名导入

├─PHP视频教程 8 PHP字符串处理

│ ├─PHP教程 8.1.1 字符串的处理方式1
│ ├─PHP教程 8.1.2 字符串的处理方式2
│ ├─PHP教程 8.2.1 常用的字符串输出函数1
│ ├─PHP教程 8.2.2 常用的字符串输出函数2
│ ├─PHP教程 8.3.1 去除空格和字符串填补及大小写转换函数
│ ├─PHP教程 8.3.2 和HTML标签相关的字符串格式化函数
│ ├─PHP教程 8.3.3 字符串格式化函数
│ ├─PHP教程 8.4.1 字符串比较函数
│ ├─PHP教程 8.5.1 字符串面试题1
│ ├─PHP教程 8.5.2 字符串面试题2
│ └─PHP教程 8.5.3 字符串面试题3

├─PHP视频教程 9 PHP正则表达式

│ ├─PHP教程 9.1.1 选择PHP正则表达式的处理函数库
│ ├─PHP教程 9.2.1 正则表达式语法介绍1
│ ├─PHP教程 9.2.2 正则表达式语法介绍2
│ ├─PHP教程 9.2.3 正则表达式中的原子1
│ ├─PHP教程 9.2.4 正则表达式中的原子2
│ ├─PHP教程 9.2.5 正则表达式中的元字符1
│ ├─PHP教程 9.2.6 正则表达式中的元字符2
│ ├─PHP教程 9.2.7 正则表达式中元字符中的小括号
│ ├─PHP教程 9.2.8 模式修正符(单个字符)1
│ ├─PHP教程 9.2.9 模式修正符(单个字符)2
│ ├─PHP教程 9.3.1 字符串的匹配与查找之(strstr、strpos、substr)
│ ├─PHP教程 9.3.2 字符串的匹配与查找之(preg_match)
│ ├─PHP教程 9.3.3 字符串的匹配与查找之(preg_match_all与preg_grep)
│ ├─PHP教程 9.3.4 字符串的分割与连接(explode、implode join、preg_split)
│ ├─PHP教程 9.3.5 字符串的替换(str_replace)
│ ├─PHP教程 9.3.6 字符串的替换(preg_replace)1
│ ├─PHP教程 9.3.7 字符串的替换(preg_replace)2
│ ├─PHP教程 9.3.8 字符串中正则的其它函数
│ ├─PHP教程 9.2.10 如何自己编写正则表达式(url)
│ └─PHP教程 9.2.11 编写email正则表达式

├─PHP视频教程 10 PHP的错误和异常处理

│ ├─PHP教程 10.1.1 错误报告及设置级别
│ ├─PHP教程 10.1.2 自定义PHP的错误报告处理方式
│ ├─PHP教程 10.1.3 设置错误日志
│ ├─PHP教程 10.2.1 PHP异常处理1
│ ├─PHP教程 10.2.2 PHP异常处理2
│ ├─PHP教程 10.2.3 自定义异常类
│ └─PHP教程 10.2.4 捕获多个异常

├─PHP视频教程 11 PHP日期时间

│ ├─PHP教程 11.1.1 PHP中应用日期和时间1
│ ├─PHP教程 11.1.2 PHP中应用日期和时间2
│ └─PHP教程 11.1.3 PHP日历核心程序编写

├─PHP视频教程 12 PHP文件系统处理

│ ├─PHP教程 12.1.1 文件系统概述
│ ├─PHP教程 12.1.2 文件的属性
│ ├─PHP教程 12.2.1 解析目录路径
│ ├─PHP教程 12.2.2 遍历目录
│ ├─PHP教程 12.2.3 统计目录中的个数和大小
│ ├─PHP教程 12.2.4 建立与删除目录
│ ├─PHP教程 12.2.5 复制、移动目录
│ ├─PHP教程 12.3.1 文件的一些基本操作函数
│ ├─PHP教程 12.3.2 文件的打开与关闭
│ ├─PHP教程 12.3.3 文件的内容操作
│ ├─PHP教程 12.3.4 简单留言版
│ ├─PHP教程 12.3.5 文件的锁定机制
│ ├─PHP教程 12.4.1 文件上传的设置
│ ├─PHP教程 12.4.2 文件上传的处理
│ ├─PHP教程 12.4.3 处理多个文件上传
│ ├─PHP教程 12.4.4 文件上传类
│ └─PHP教程 12.4.5 文件下载

─PHP视频教程 13 GD库

│ ├─PHP教程 13.1.1 PHP中GD库的使用
│ ├─PHP教程 13.1.2 使用GD库画图
│ ├─PHP教程 13.1.3 绘制各种图形
│ ├─PHP教程 13.1.4 画时钟
│ ├─PHP教程 13.2.1 设计验证码类
│ ├─PHP教程 13.2.2 验证码类的编写1
│ ├─PHP教程 13.2.3 验证码类的编写2
│ ├─PHP教程 13.2.4 验证码类完善
│ ├─PHP教程 13.3.1 图片背景管理
│ ├─PHP教程 13.3.2 图片的缩放和剪切
│ ├─PHP教程 13.3.3 添加图片水印
│ ├─PHP教程 13.3.4 图片的旋转和翻转
│ └─PHP教程 13.3.5 图像处理类

├─PHP视频教程 14 数据库

│ ├─PHP教程 14.1.1 复习数据库
│ ├─PHP教程 14.1.2 phpMyAdmin的使用
│ ├─PHP教程 14.1.3 php访问MySQL
│ ├─PHP教程 14.1.4 在PHP脚本中操作MySQL数据库1
│ ├─PHP教程 14.1.5 在PHP脚本中操作MySQL数据库2
│ ├─PHP教程 14.1.6 在PHP脚本中操作MySQL数据库3
│ ├─PHP教程 14.1.7 在PHP脚本中操作MySQL数据库4
│ ├─PHP教程 14.2.1 分页需求分析
│ ├─PHP教程 14.2.2 分页类中分页的编写
│ ├─PHP教程 14.2.3 分页类中列表页的编写
│ ├─PHP教程 14.2.4 分页类的优化
│ ├─PHP教程 14.2.5 《细说PHP》分页类的使用
│ ├─PHP教程 14.3.1 图书管理需求分析
│ ├─PHP教程 14.3.2 添加图书
│ ├─PHP教程 14.3.3 图书列表
│ ├─PHP教程 14.3.4 修改图书
│ ├─PHP教程 14.3.5 删除图书
│ ├─PHP教程 14.3.6 上传图书封面
│ ├─PHP教程 14.3.7 修改图书封面
│ ├─PHP教程 14.3.8 图书列表分页
│ └─PHP教程 14.3.9 多搜索加分页

├─PHP视频教程 15 PDO

│ ├─PHP教程 15.1.1 数据库抽象层PDO
│ ├─PHP教程 15.1.2 创建PDO对象
│ ├─PHP教程 15.1.3 PDO与连接有关的选项
│ ├─PHP教程 15.1.4 PDO的错误处理模式
│ ├─PHP教程 15.1.5 使用PDO执行SQL语句
│ ├─PHP教程 15.1.6 PDO事务处理
│ ├─PHP教程 15.2.1 PDO对预处理语句的支持
│ ├─PHP教程 15.2.2 使用PDO准备语句并执行语句1
│ ├─PHP教程 15.2.3 使用PDO准备语句并执行语句2
│ ├─PHP教程 15.2.4 PDO的预处理查询1
│ ├─PHP教程 15.2.5 PDO的预处理查询2
│ └─PHP教程 15.2.6 用PDO存取大数据对象

├─PHP视频教程 16 memcache管理与应用

│ ├─PHP教程 16.1.1 memcache应用说明
│ ├─PHP教程 16.1.2 memcache工作原理
│ ├─PHP教程 16.1.3 memcache的安装
│ ├─PHP教程 16.1.4 Memcache的常用命令操作
│ ├─PHP教程 16.1.5 php的memcache功能扩展模块安装
│ ├─PHP教程 16.1.6 PHP中操作memcache
│ ├─PHP教程 16.1.7 在PHP中设置分布式memcache存取1
│ └─PHP教程 16.1.8 在PHP中设置分布式memcache存取2

─PHP视频教程 17 PHP会话控制

├─PHP教程 17.1.1 http协议和web本质1
├─PHP教程 17.1.2 http协议和web本质2
├─PHP教程 17.1.3 http协议和web本质3
├─PHP教程 17.2.1 会话控制概述
├─PHP教程 17.3.1 会话控制之Cookie概述
├─PHP教程 17.3.2 Cookie的操作
├─PHP教程 17.3.3 Cookie的应用1
├─PHP教程 17.3.4 Cookie的应用2
├─PHP教程 17.4.1 会话控制session的工作机制
├─PHP教程 17.4.2 session的应用
├─PHP教程 17.4.3 session的配置选项
├─PHP教程 17.4.4 sessoion自动垃圾回收机制
├─PHP教程 17.4.5 基于url传递session的id
├─PHP教程 17.4.6 邮件系统实例1
├─PHP教程 17.4.7 邮件系统实例2
├─PHP教程 17.5.1 自定义session的存储机制
├─PHP教程 17.5.2 如何自定义session的处理方式1
├─PHP教程 17.5.3 如何自定义session的处理方式2
├─PHP教程 17.5.4 自定义session类
├─PHP教程 17.5.5 使用数据库来存储session信息1
├─PHP教程 17.5.6 使用数据库来存储session信息2
├─PHP教程 17.5.7 使用数据库来存储session信息3
└─PHP教程 17.5.8 使用memcache来存储session

PHP视频教程 18 PHP的模板引擎Smarty

├─PHP教程 18.1.1 什么是模板引擎
├─PHP教程 18.2.1 自定义模板引擎类1
├─PHP教程 18.2.2 自定义模板引擎类2
├─PHP教程 18.2.3 使用自定义的模板引擎
├─PHP教程 18.3.1 选择Smarty模板引擎
├─PHP教程 18.3.2 Smarty的安装初使化示例1
├─PHP教程 18.3.3 Smarty的安装初使化示例2
├─PHP教程 18.3.4 需要学习Smarty的哪儿些内容
├─PHP教程 18.4.1 模板中的变量应用
├─PHP教程 18.4.2 从配置文件读取变量
├─PHP教程 18.4.3 在模板中使用保留变量
├─PHP教程 18.5.1 变量调节(修改)器
├─PHP教程 18.5.2 变量调节(修改)器和应用
├─PHP教程 18.5.3 使用registerPlugin来注册变量调节器
├─PHP教程 18.5.4 使用插件来注册变量调节器
├─PHP教程 18.5.5 smarty中的函数
├─PHP教程 18.5.6 smarty中的内置函数
├─PHP教程 18.6.1 smarty中自定义函数
├─PHP教程 18.6.2 smarty中自定义函数插件实例
├─PHP教程 18.7.1 smarty中内置函数的使用
├─PHP教程 18.7.2 smarty变量声明
├─PHP教程 18.7.3 smarty流程控制
├─PHP教程 18.7.4 smarty中for、while循环
├─PHP教程 18.7.5 smarty中{function}标签
├─PHP教程 18.7.6 smarty2中的foreach
├─PHP教程 18.7.7 smarty3中的foreach
├─PHP教程 18.7.8 smarty中的section
├─PHP教程 18.8.1 smarty模板继承
├─PHP教程 18.9.1 页面静态化加分页原理
└─PHP教程 18.9.2 在smarty中控制缓存

《PHP核心技术与最佳实践》
基本信息
作者: 列旭松 陈文
出版社:机械工业出版社
ISBN:9787111401926
上架时间:2012-11-8
出版日期:2013 年1月
开本:16开
页码:1
版次:1-1
所属分类: 计算机 > 软件与程序设计 > 网络编程 > php
图片 1

基础语法

  基础语法

  运算符

  语句

  变量

  变量范围

  常量

  命名空间

更多关于》》》《PHP核心技术与最佳实践》
内容简介
书籍
计算机书籍
  《php核心技术与最佳实践》是一本致力于为希望成为中高级php程序员的读者提供高效而有针对性指导的经典著作。本书系统归纳和深刻解读了php开发中的编程思想、底层原理、核心技术、开发技巧、编码规范和最佳实践。
  《php核心技术与最佳实践》分为5个部分:第一部分(1~2章)从不同的角度阐述了面向对象软件设计思想的核心概念、技术和原则,分析了面向对象的特性、设计模式的理念,指出了如何设计低耦合、高可扩展性的软件,等等;第二部分(3~6章)详细讲解了php中正则表达式的规范和使用技巧,php网络编程的原理、方法、技巧和一些重要的操作,pdo、数据库应用优化,数据库设计和mysql的高级应用,php扩展引擎的原理与实践;第三部分(第7章)拨云见日,围绕php扩展开发进行了细致而深入的探讨,解析了php的底层实现和zend虚拟机api,并用php扩展开发的实例带领读者走进php的底层世界,旨在让读者对php性能优化、底层原理进行深入的理解。第四部分(8~11章)重点讨论了缓存的设计、memcached的原理与实践、nosql数据库redis源码分析与应用实践、高性能php网站的架构和设计等内容;第五部分(12~14章)详细讲解了php代码的调试和测试、hash算法和数据库的实现,以及php的编码规范,旨在帮助读者提高开发效率,养成良好编程习惯。
目录
《php核心技术与最佳实践》
前言
第1章 面向对象思想的核心概念/1
1.1 面向对象的“形”与“本”/1
1.1.1 对象的“形”/2
1.1.2 对象的“本”/4
1.1.3 对象与数组/5
1.1.4 对象与类/5
1.2 魔术方法的应用/7
1.2.1 set和get方法/8
1.2.2 call和callstatic方法/9
1.2.3 tostring方法/11
1.3 继承与多态/14
1.3.1 类的组合与继承/14
1.3.2 各种语言中的多态/19
1.4 面向接口编程/23
1.4.1 接口的作用/23
1.4.2 对php接口的思考/25
1.5 反射/28
1.5.1 如何使用反射api/28
1.5.2 反射有什么作用/30
1.6 异常和错误处理/32
1.6.1 如何使用异常处理机制/32
1.6.2 怎样看php的异常/38
1.6.3 php中的错误级别/38
1.6.4 php中的错误处理机制/40
1.7 本章小结/42
第2章 面向对象的设计原则/44
2.1 面向对象设计的五大原则/44
2.1.1 单一职责原则/44
2.1.2 接口隔离原则/52
2.1.3 开放-封闭原则/55
2.1.4 替换原则/57
2.1.5 依赖倒置原则/59
2.2 一个面向对象留言本的实例/62
2.3 面向对象的思考/65
2.4 本章小结/67
第3章 正则表达式基础与应用/68
3.1 认识正则表达式/68
3.1.1 php中的正则函数/68
3.1.2 正则表达式的组成/69
3.1.3 测试工具的使用/69
3.2 正则表达式中的元字符/70
3.2.1 什么是元字符/71
3.2.2 起始和结束元字符/72
3.2.3 点号/73
3.2.4 量词/74
3.3 正则表达式匹配规则/74
3.3.1 字符组/74
3.3.2 转义/75
3.3.3 反义/76
3.3.4 分支/77
3.3.5 分组/78
3.3.6 反向引用/79
3.3.7 环视/81
3.3.8 贪婪/懒惰匹配模式/83
3.4 构造正则表达式/84
3.4.1 正则表达式的逻辑关系/85
3.4.2 运算符优先级/87
3.4.3 正则表达式的常用模式/88
3.5 正则在实际开发中的应用/92
3.5.1 移动手机校验/92
3.5.2 匹配e-mail地址/93
3.5.3 转义在数据安全中的应用/93
3.5.4 url重写与搜索引擎优化/95
3.5.5 删除文件中的空行和注释/98
3.6 正则表达式的效率与优化/99
3.7 本章小结/103
第4章 php网络技术及应用/105
4.1 http协议详解/105
4.1.1 http协议与spdy协议/105
4.1.2 http协议如何工作/106
4.1.3 http应用:模拟灌水机器人/110
4.1.4 垃圾信息防御措施/116
4.2 抓包工具/119
4.2.1 抓包工具分类/119
4.2.2 fiddler功能与原理/119
4.2.3 安装fiddler/120
4.2.4 fiddler基本界面/121
4.2.5 使用fiddler进行http断点调试/124
4.3 socket进程通信机制及应用/127
4.3.1 进程通信相关概念/127
4.3.2 socket演示:实现服务器端与客户端的交互/128
4.3.3 socket函数原型/131
4.3.4 php中的socket函数/131
4.3.5 socket交互应用:使用socket抓取数据/134
4.4 curl工具及应用/136
4.4.1 建立curl请求的基本步骤/136
4.4.2 检查curl错误和获取返回信息/137
4.4.3 在curl中伪造头信息/138
4.4.4 在curl中用post方法发送数据/140
4.4.5 使用curl上传文件/141
4.4.6 curl批处理/142
4.4.7 curl设置项/144
4.4.8 网络应用:使用curl抓取腾讯微博/145
4.5 简单邮件传输协议smtp/151
4.5.1 smtp协议如何工作/151
4.5.2 smtp协议常用命令/153
4.5.3 smtp协议应用:使用socket发送邮件/153
4.6 webservice的前世今生/157
4.6.1 webservice简介/157
4.6.2 认识phprpc协议/159
4.6.3 web服务的实现模式/165
4.6.4 简单对象访问协议soap/166
4.6.5 调试工具soapui/168
4.7 cookie详解/170
4.7.1 cookie的基本概念及设置/170
4.7.2 php和javascript对cookie的操作/172
4.7.3 cookie存储机制及应用/174
4.7.4 cookie跨域与p3p协议/175
4.7.5 本地存储localstorage/177
4.8 session详解/179
4.8.1 session的基本概念及设置/179
4.8.2 session的工作原理/180
4.8.3 session入库/181
4.8.4 cookie与session问答/185
4.9 本章小结/186
第5章 php与数据库基础/187
5.1 什么是pdo/187
5.1.1 pdo预定义类/188
5.1.2 如何使用pdo/189
5.1.3 pdo参数绑定与预编译/189
5.1.4 pdo事务处理/191
5.1.5 pdo的效率问题/192
5.2 数据库应用优化/193
5.2.1 基本语句优化10个原则/193
5.2.2 索引与性能分析/194
5.2.3 服务器和配置的优化/197
5.2.4 mysql瓶颈及应对措施/199
5.3 数据库设计/200
5.3.1 范式与反范式/200
5.3.2 数据库分区/201
5.3.3 分表的应用/203
5.4 mysql的高级应用/205
5.4.1 mysql自增长序列/205
5.4.2 mysql视图/207
5.4.3 mysql存储过程和事件调度/210
5.4.4 用mysql模拟消息队列/212
5.4.5 sql注入漏洞与防范/216
5.5 本章小结/220
第6章 php模板引擎的原理与实践/221
6.1 代码分层的思想/221
6.2 实现一个简单的模板引擎骨架/224
6.2.1 搭建模板引擎基础类骨架/224
6.2.2 编译类骨架/226
6.2.3 测试模板引擎/229
6.3 模板引擎的编译/230
6.3.1 实现变量标签/230
6.3.2 实现foreach标签/231
6.3.3 实现if…else标签/233
6.3.4 对php原生语法的支持/234
6.4 完善模板引擎/235
6.4.1 模板缓存机制的实现/235
6.4.2 调试和缓存清理/236
6.4.3 如何使用模板/244
6.5 常用模板引擎/245
6.5.1 discuz模板引擎/245
6.5.2 smarty模板引擎/246
6.5.3 dedecms模板引擎/247
6.5.4 blitz模板引擎/248
6.5.5 模板引擎的一些思考/249
6.6 本章小结/251
第7章 php扩展开发/252
7.1 为什么要开发php扩展/252
7.2 搭建php扩展框架/252
7.2.1 php源代码目录/252
7.2.2 ext_skel工具/253
7.2.3 windows平台环境配置/253
7.2.4 linux平台环境配置/256
7.2.5 php的生命周期/257
7.3 php内核中的变量/260
7.3.1 php变量在内核中的存储方式/260
7.3.2 php内核变量访问宏/262
7.3.3 引用计数器与写时复制/263
7.4 php内核中的hashtable分析/265
7.4.1 php内核hashtable的数据结构/265
7.4.2 hashtable的代码实现/270
7.5 zend api详解与扩展编写/274
7.5.1 什么是zend引擎/274
7.5.2 zend引擎内存管理/275
7.5.3 php扩展的架构/276
7.5.4 接收用户传递的参数/283
7.5.5 在php扩展中创建变量/290
7.5.6 在php扩展中为变量赋值/293
7.5.7 错误和输出api/304
7.5.8 运行时信息函数/306
7.5.9 调用用户自定义函数/307
7.5.10 php配置项/309
7.5.11 创建常量的宏/312
7.6 编写一个完整的扩展/313
7.6.1 链表结构的实现/313
7.6.2 创建php扩展框架/319
7.6.3 编写代码/319
7.6.4 编译安装扩展/327
7.6.5 测试扩展/328
7.7 本章小结/329
第8章 缓存详解/330
8.1 认识缓存/330
8.1.1 为什么使用缓存/330
8.1.2 命中率/331
8.1.3 缓存更新策略/332
8.1.4 缓存最大数据量/333
8.2 文件缓存/333
8.2.1 文件缓存机制/333
8.2.2 文件缓存开源产品secache/335
8.3 opcode缓存/337
8.3.1 eaccelerator下载及使用/337
8.3.2 如何查看opcode/338
8.4 客户端缓存/340
8.4.1 客户端缓存规则/340
8.4.2 http协议中的缓存使用/341
8.4.3 http缓存实例/343
8.4.4 html 5中的application cache/345
8.5 web服务器缓存/347
8.5.1 apache缓存/347
8.5.2 nginx缓存/348
8.6 本章小结/349
第9章 memcached使用与实践/350
9.1 为什么要用memcached/350
9.2 memcached的安装及使用/350
9.2.1 安装memcached服务器/351
9.2.2 安装memcached客户端/352
9.2.3 使用memcache扩展访问memcached服务器/353
9.2.4 使用memcached加速web应用/356
9.3 深入了解memcached/357
9.3.1 memcached如何支持高并发/357
9.3.2 使用slab分配算法保存数据/357
9.3.3 删除过期item/361
9.3.4 使用lru算法淘汰数据/362
9.3.5 memcached多线程模型/363
9.4 memcached分布式布置方案/366
9.4.1 普通hash分布/366
9.4.2 一致性hash分布/367
9.4.3 一致性hash分布算法实例/369
9.5 本章小结/371
第10章 redis使用与实践/372
10.1 redis的安装及使用/372
10.1.1 redis安装步骤/372
10.1.2 修改redis配置文件/373
10.1.3 运行redis服务器/374
10.1.4 key相关命令/374
10.1.5 redis支持的数据类型/375
10.1.6 redis排序命令详解/382
10.2 事务处理/384
10.2.1 事务处理原理/384
10.2.2 事务处理实现/385
10.3 持久化/387
10.3.1 内存快照/387
10.3.2 日志追加/387
10.4 主从同步/388
10.4.1 redis主从同步原理/388
10.4.2 slave端的工作流程/389
10.4.3 master端的工作流程/392
10.5 虚拟内存/397
10.5.1 配置文件信息/397
10.5.2 开启vm的后台操作/398
10.5.3 redis object和vm pointer/399
10.5.4 交换过程/400
10.5.5 阻塞式vm/403
10.5.6 非阻塞式vm/405
10.6 扩展库phpredis安装及使用/408
10.7 redis应用实践/409
10.7.1 使用消息队列发布微博/409
10.7.2 redis替代文件存储session/410
10.8 深入了解redis内核/413
10.8.1 内存淘汰/413
10.8.2 对象引用计数器/415
10.8.3 自动关闭超时连接/418
10.8.4 清除过期数据/419
10.9 本章小结/421
第11章 高性能网站架构方案/422
11.1 如何优化网站响应时间/422
11.1.1 吞吐率/423
11.1.2 压力测试/423
11.1.3 持久连接/426
11.2 mysql响应速度提高方案:handlersocket/429
11.2.1 handlersocket工作原理/430
11.2.2 handlersocket安装和配置/430
11.2.3 php-handlersocket性能测试/432
11.3 mysql稳定性提高方案:主从复制/433
11.3.1 主从复制工作原理/433
11.3.2 主从复制配置/434
11.3.3 连接主从服务器/436
11.4 web应用加速方案:varnish/438
11.4.1 传统代理与反向代理/438
11.4.2 varnish安装和配置/439
11.4.3 varnish性能测试/440
11.4.4 修改缓存规则/442
11.4.5 监控varnish运行状态/444
11.5 异步计算方案:gearman/445
11.5.1 gearman工作原理/445
11.5.2 安装gearman和php扩展/447
11.5.3 使用gearman异步发送邮件/447
11.6 本章小结/449
第12章 代码调试和测试/450
12.1 调试php代码/450
12.1.1 php调试函数/450
12.1.2 断点调试与变量跟踪工具xdebug/454
12.2 前端调试/457
12.2.1 firebug调试api/457
12.2.2 使用firebug调试dom结构/459
12.2.3 使用firebug调试javascript/460
12.2.4 使用fiddler调试远程服务器上的文件/462
12.3 日志管理/463
12.3.1 php日志/463
12.3.2 apache服务器日志/464
12.3.3 mysql日志/465
12.4 代码性能测试技术/468
12.4.1 时间点测试/468
12.4.2 文件查看工具wincachegrind/469
12.4.3 性能测试注意事项/471
12.5 单元测试/472
12.5.1 单元测试框架phpunit的安装/472
12.5.2 结合netbeans使用phpunit进行单元测试/473
12.5.3 phpunit中的断言函数/476
12.5.4 phpunit常用方法/478
12.5.5 phpunit常用注解/478
12.6 压力测试/480
12.6.1 使用jmeter压力测试http/480
12.6.2 压力测试mysql/484
12.6.3 jmeter+badboy组合测试/487
12.7 本章小结/489
第13章 hash算法与数据库实现/490
13.1 hash函数/490
13.2 hash算法/490
13.2.1 直接取余法/490
13.2.2 乘积取整法/490
13.2.3 经典hash算法times33/491
13.3 hash表/491
13.3.1 hash表结构/491
13.3.2 使用php实现hash表/492
13.3.3 hash表冲突/493
13.3.4 拉链法解决冲突/494
13.4 一个小型数据库的实现/496
13.4.1 pack函数的用法/497
13.4.2 unpack函数的用法/499
13.4.3 索引文件和数据文件/500
13.4.4 数据库接口方法/501
13.4.5 源代码解析/502
13.4.6 测试代码/509
13.5 本章小结/510
第14章 php编码规范/511
14.1 文件格式/511
14.1.1 文件标记/511
14.1.2 文件和目录命名/512
14.1.3 文件目录结构/512
14.2 命名规范/513
14.2.1 变量命名/513
14.2.2 类及接口命名/514
14.2.3 数据库命名/514
14.2.4 习惯与约定/515
14.3 注释规范/516
14.3.1 程序注释/516
14.3.2 文件注释/518
14.3.3 类/接口注释/518
14.3.4 方法和函数注释/518
14.3.5 标注的使用/519
14.4 代码风格/520
14.4.1 缩进和空格/520
14.4.2 语句断行/520
14.4.3 更好的习惯/521
14.5 本章小结/521

数据类型

  数据类型概述

  函数

  数组函数

  字符串函数

本图书信息来源:中国互动出版网

面向对象

  类和对象

  魔术方法

  三大特性

  关键字

  对象操作

  简单图形面积计算器实例

  

常用功能

  正则表达式语法

  正则表达式函数

  错误处理

  日期和时间

  文件操作

  会话Session

  自定义模板引擎

  Smarty模板引擎

 

数据库开发

  mysql扩展函数

  PDO基础操作

  PDO预处理语句

  memcache

  php操作memcache

本文由9159.com发布于编程,转载请注明出处:机械工业出版社,│ ├─PHP教程 1.1.4 Web开发标准

关键词: