温习《PHP 核心技术与最佳实践》这本书

再次看这本书,顺手提炼了一下大致目录,以便后续看见目录就知道大概讲的些什么内容

PHP 核心技术与最佳实践

1、面向对象思想的核心概念

1.1 面向对象的『形』与『本』
1.2 魔术方法的应用
    1.2.1 __set和 __get 方法
        PHP 的重载和Java 等语言的重载不同。 Java 里,重载指一个类中可以定义参数列表不同但名字相同的多个方法。比如,Java 也有构造
        函数,只要保证方法签名不一样就行;而 PHP 则在一个类中只允许有一个构造函数。
        PHP 提供的『重载』指动态的『创建』类属性和方法。因此,__set 和__get 方法被归纳到重载里。
        如果只是为了方便,类属性在任意时候都定义成public 权限显然是不合适的,也不符合面向对象的设计思想。
1.3 继承与多态
1.4 面向接口编程
1.5 反射
1.6 异常和错误处理

2、面向对象的设计原则

2.1 面向对象设计的五大原则
    2.1.1 单一职责原则
    2.1.2 接口隔离原则
    2.1.3 开放 - 封闭原则
    2.1.4 替换原则
    2.1.5 依赖倒置原则

3、正则表达式基础与应用

3.1 认识正则表达式
3.2 正则表达式中的元字符
3.3 正则表达式匹配规则
3.4 构造正则表达式
3.5 正则在实际开发中的应用
    3.5.1 移动手机校验
    3.5.2 匹配 E-mail 地址
    3.5.3 转义在数据安全中的应用
    3.5.4 URL 重写与搜索引擎优化
    3.5.5 删除文件中的空行与注释
3.6 正则表达式的效率与优化

4、PHP网络技术及应用

4.1 HTTP 协议讲解
4.2 抓包工具
4.3 Socket 进程通信机制及应用
4.4 cUrl 工具及应用
4.5 简单邮件传输协议 SMTP
4.6 WebService 的前世今生
4.7 Cookie 详解
4.8 Session 详解

5、PHP 与数据库基础

5.1 什么是 PDO
5.2 数据库应用优化
5.3 数据库设计
5.4 MySQL 的高级应用

6、PHP 模板引擎的原理与实践

6.1 代码分层的思路
6.2 实现一个简单的模板引擎骨架
6.3 模板引擎的编译
6.4 完善模板引擎
6.5 常用模板引擎

7、PHP 扩展开发

7.1 为什么需要开发 PHP 扩展
7.2 搭建 PHP 扩展框架
7.3 PHP 内核中的变量
7.4 PHP 内核中的 HashTable 分析
7.5 Zend API 详解与扩展编写
7.6 编写一个完整的扩展

8、缓存详解

8.1 认识缓存
8.2 文件缓存
8.3 Opcode 缓存
8.4 客户端缓存
8.5 Web 服务器缓存

9、Memcached 使用与实践

9.1 为什么要用 Memcached
9.2 Memcached 的安装及使用
9.3 深入了解 Memcached
9.4 Memcached 分布式布置方案

10、Redis 使用与实践

10.1 Redis 的安装及使用
10.2 事物处理
10.3 持久化
10.4 主从同步
10.5 虚拟内存
10.6 扩展库 phpredis 安装及使用
10.7 Redis 应用实践
10.8 深入了解 Redis 内核

11、高性能网站架构方案

11.1 如何优化网站响应时间
11.2 MySQL 响应速度提高方案:HandlerSocket
11.3 MySQL 稳定性提高方案:主从复制
11.4 Web 应用加速方案:Varnish
11.5 异步计算方案:Gearman

12、代码调试和测试

12.1 调试 PHP 代码
12.2 前端调试
12.3 日志管理
12.4 代码性能测试技术
12.5 单元测试
12.6 压力测试

13、Hash 算法与数据库实现

13.1 Hash 函数
13.2 Hash 算法
13.3 Hash 表
13.4 一个小型数据库的实现

14、PHP 编码规范

14.1 文件格式
14.2 命名规范
14.3 注释规范
14.4 代码风格

原文地址:https://www.cnblogs.com/liugx/p/9934450.html

时间: 2024-08-03 15:20:02

温习《PHP 核心技术与最佳实践》这本书的相关文章

PHP核心技术与最佳实践--笔记

<?php error_reporting(E_ALL); /* php 5.3引入 延迟静态绑定 */ /* php5.4引入trait,用来实现多层继承 trait Hello{} trait World{} class MyHelloWorld{ use Hello,World; } */ /* php4时代 php是不支持析构函数的*/ /* php中数组索引是字符串,但是没有使用引号,php就将其认为是一个常量,找不到在视为变量 */ /** * php中的异常必须手动 * 可以结合错

PHP核心技术与最佳实践之Hash算法

PHP核心技术与最佳实践之Hash算法 Hash表又称散列表,通过把关键字Key映射到数组中的一个位置来访问记录,以加快查找速度.这个映射函数称为Hash函数,存放记录的数组称为Hash表. 1.     Hash函数 作用是把任意长度的输入,通过Hash算法变换成固定长度的输出,该输出就是Hash值.这种转换是一种压缩映射,也就是Hash值得空间通常远小于输入的空间,不输入可能会散列成相同的输出,而不可能从Hash值来唯一的确定输入值. 一个好的hash函数应该满足以下条件:每个关键字都可以均

PHP核心技术与最佳实践之Hash表冲突

PHP核心技术与最佳实践之Hash表冲突 接着上一篇文章,测试后输出value1value2.当 $ht->insert('key12','value12'); Echo $ht ->find('key12');时, 发现输出value12value12.这是什么原因呢? 这个问题称为Hash表的冲突.由于insert的是字符串,采用的算法是将字符串的ASIIC码相加,按照此方法,冲突产生了.通过打印key12和key1的Hash值,发现他们都为8,也就说,value1和value12同时被存

PHP核心技术与最佳实践之正则表达式匹配规则

PHP核心技术与最佳实践之正则表达式匹配规则 本文介绍几种常用的匹配规则. 1.     字符组 查找数字.字母.空白很简单,因为已经有了对应这些集合的元字符,但是如果匹配没有预定义元字符的字符集合,方法很简单, 就是在方括号内列出它们. 例如:[aeiou]匹配任何一个英文元音字母,[.*?]匹配标点中的一个.注意此时方括号内的元字符失去了特殊意义. 也可以指定字符范围,例如[0-9]的含义和\d完全一致:代表一位数字:同理[a-zA-Z0-9]等同于\w; 字符组很简单,但是一定要弄清楚字符

PHP核心技术与最佳实践之正则表达式反向引用

PHP核心技术与最佳实践之正则表达式反向引用 反向引用用于重复搜索前面某个分组匹配的文本.例如:"\1"代表分组1匹配的文本: \b(\w+)\b\s+\1\b 要反向引用分组捕获的内容,可以使用"\k<word>"上个例子: \b(?<word>\w+)\b\s+\k<word>\b [示例]:UBB标签代码 UBB标签用来在论坛和留言板中代替HTML,实现一些简单的HTML效果,同时防止滥用HTML出现安全问题. 最终UBB标

PHP核心技术与最佳实践之对象的序列化

PHP核心技术与最佳实践之对象的序列化 对象是一堆数据,可以把对象存储起来,以便需要时使用,这就是对象的序列化. 所谓序列化,就是把保存在内存中的各种对象状态(属性)保存起来,并且在需要时可以还原出来.下面代码实现了把内存中的对象当前状态保存到一个文件中. $str = serialize($student); Echo $str; File_put_contents('store.txt',$str); 输出序列化后的结果: O:6:"person":2:{s:4:"nam

PHP核心技术与最佳实践——全局浏览

难得买到并喜欢一本好书,‘PHP核心技术与最佳实践’. 几天时间,先看了个大概,总结一下整体是什么样子的,怎么看怎么学. 1.总共14章: 2.第1.2章讲PHP的OOP: 其中第一章侧重于PHP的OOP与Java等的对比,面对对象开发的概念性问题,PHP的OOP的特殊之处,并对此给出代码例子: 3.第3.4.5章对某一个基础技术应用进行详解: 第3章讲正则表达式(md,为啥我总是看了就忘,这个东西...): 第4章讲网络技术,包括HTTP协议,socket,抓包,cURL,SMTP等应用层应用

PHP核心技术与最佳实践

<PHP核心技术与最佳实践>是一本致力于为希望成为中高级PHP程序员的读者提供高效而有针对性指导的经典著作.系统归纳和深刻解读了PHP开发中的编程思想.底层原理.核心技术.开发技巧.编码规范和最佳实践.全书分为5个部分:第一部分(1-2章)从不同的角度阐述了面向对象软件设计思想的核心概念.技术和原则,分析了面向对象的特性.设计模式的理念,指出了如何设计低耦合.高可扩展性的软件,等等:第二部分(3-6章)详细讲解了PHP中正则表达式的规范和使用技巧,PHP网络编程的原理.方法.技巧和一些重要的操

《深入理解Java7核心技术与最佳实践》读书笔记(1.1)---Project Coin介绍

OpenJDK中的Coin项目(Project Coin)的目的就是为了收集对Java语言的语法进行增强的建议.在Coin项目开始之初,曾经广泛地向社区征求提议.在短短的一个月时间内就收到将近70条提议.最后又9条提议被列入考虑之中.在这9条提议中,有6条成为Java7的一部分,剩下的2条提议会在Java8中重新考虑,还有1条提议被移到其它项目中实现.这6条被采纳提议的语法新特性涉及switch语句中使用字符串.整数字面量的改进.异常处理的优化.泛型创建简化.try-with-resources