《PHP核心技术与最佳实践》 基本信息 作者: 列旭松 陈文 出版社:机械工业出版社 ISBN:9787111401926 上架时间:2012-11-8 出版日期:2013 年1月 开本:16开 页码:1 版次:1-1 所属分类: 计算机 > 软件与程序设计 > 网络编程 > php
更多关于》》》《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
本图书信息来源:中国互动出版网
|
请发表评论