深入PHP:面向对象、模式与实践(第3版)

深入PHP:面向对象、模式与实践(第3版) pdf epub mobi txt 电子书 下载 2025

[美] Matt Zandstra 著,陈浩 等 译
图书标签:
  • PHP
  • 面向对象
  • 设计模式
  • PHP开发
  • Web开发
  • 代码实践
  • 第三版
  • 编程
  • 技术
  • 书籍
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115256249
版次:1
商品编码:10794350
包装:平装
丛书名: 图灵程序设计丛书·Web开发系列
开本:16开
出版时间:2011-07-01
用纸:胶版纸
页数:450
正文语种:中文版

具体描述

编辑推荐

  

  赞德斯编著的《深入PHP:面向对象、模式与实践(第3版)》全面深入地剖析了面向对象的PHP编程与设计。书中首先介绍了PHP的对象特性(包括抽象类、反射、接口和错误处理等)及可帮助开发人员了解类、对象和方法的对象工具,然后介绍了设计模式。阐述了模式的概念,展示了如何在PHP中实现一些关键的模式。并用专门的章节介绍了企业模式和数据库模式。最后,本书围绕PHP应用程序开发。详细介绍了一批极为实用的辅助开发工具。讨论了具有普遍意义的开发实践。另外,这一版中还新增了闭包、命名空间、持续集成等内容。本书适合每位PHP开发人员进阶参考。可帮助他们掌握PHP面向对象设计和开发的精髓,并最终跻身高端PHP开发人员之列。

内容简介

  《深入PHP:面向对象、模式与实践(第3版)》是PHP专家经典力作的新版本。书中主要介绍了如何使用面向对象技术和设计模式编写稳定的、可维护的代码,如何使用Subversion管理多个开发人员,如何使用Phing和PEAR进行构建和安装,以及将构建和测试过程自动化的策略,包括持续集成。
  《深入PHP:面向对象、模式与实践(第3版)》适合中高级PHP程序员阅读。

作者简介

Mart Zandstra,Yahoo公司的高级程序员,曾从事过教师等工作,著有Sams Teach Yourself PHP in 24 Hours等书,还为Linux Magazine、IBMD DeveloperWorks、Zend.com和bdz-corlsuit.com写过PHP方面的文章。

目录

第一部分 介绍
第1章 PHP:设计与管理
1.1 问题
1.2 PHP 和其他语言
1.3 关于本书
1.3.1 对象
1.3.2 模式
1.3.3 实践
1.3.4 第3版新增内容
1.4 小结


第二部分 对象
第2章 PHP与对象
2.1 PHP对象的偶然成功
2.1.1 最初:PHP/FI
2.1.2 语法糖:PHP 3
2.1.3 一场静悄悄的革命:PHP 4
2.1.4 拥抱改变:PHP 5
2.2 走向未来:PHP 6
2.3 拥护和疑虑:关于对象的争辩
2.4 小结
第3章 对象基础
3.1 类和对象
3.1.1 编写第一个类
3.1.2 第一个对象(或两个)
3.2 设置类中的属性
3.3 使用方法
3.4 参数和类型
3.4.1 基本类型
3.4.2 获得提示:对象类型
3.5 继承
3.5.1 继承问题
3.5.2 使用继承
3.5.3 public、private、protected:管理类的访问
3.6 小结
第4章 高级特性
4.1 静态方法和属性
4.2 常量属性
4.3 抽象类
4.4 接口
4.5 延迟静态绑定:static关键字
4.6 错误处理
4.7 Final 类和方法
4.8 使用拦截器
4.9 析构方法
4.10 使用__clone()复制对象
4.11 定义对象的字符串值
4.12 回调、匿名函数和闭包
4.13 小结
第5章 对象工具
5.1 PHP和包
5.1.1 PHP包和命名空间
5.1.2 自动加载
5.2 类函数和对象函数
5.2.1 查找类
5.2.2 了解对象或类
5.2.3 了解类中的方法
5.2.4 了解类属性
5.2.5 了解继承
5.2.6 方法调用
5.3 反射API
5.3.1 入门
5.3.2 开始行动
5.3.3 检查类
5.3.4 检查方法
5.3.5 检查方法参数
5.3.6 使用反射API
5.4 小结
第6章 对象与设计
6.1 代码设计的定义
6.2 面向对象设计和过程式编程
6.2.1 职责
6.2.2 内聚
6.2.3 耦合
6.2.4 正交
6.3 选择类
6.4 多态
6.5 封装
6.6 忘记细节
6.7 4 个方向标
6.7.1 代码重复
6.7.2 类知道的太多
6.7.3 万能的类
6.7.4 条件语句
6.8 UML
6.8.1 类图
6.8.2 时序图
6.9 小结


第三部分 模式
第7章 什么是设计模式?为何使用它们
7.1 什么是设计模式
7.2 设计模式概览
7.2.1 命名
7.2.2 问题
7.2.3 解决方案
7.2.4 效果
7.3 《设计模式》格式
7.4 为什么使用设计模式
7.4.1 一个设计模式定义了一个问题
7.4.2 一个设计模式定义了一个解决方案
7.4.3 设计模式是语言无关的
7.4.4 模式定义了一组词汇
7.4.5 模式是经过测试的
7.4.6 模式是为协作而设计的
7.4.7 设计模式促进良好设计
7.5 PHP与设计模式
7.6 小结
第8章 模式原则
8.1 模式的启示
8.2 组合与继承
8.2.1 问题
8.2.2 使用组合
8.3 解耦
8.3.1 问题
8.3.2 降低耦合
8.4 针对接口编程,而不是针对实现编程
8.5 变化的概念
8.6 父子关系
8.7 模式
8.7.1 用于生成对象的模式
8.7.2 用于组织对象和类的模式
8.7.3 面向任务的模式
8.7.4 企业模式
8.7.5 数据库模式
8.8 小结
第9章 生成对象
9.1 生成对象的问题和解决方法
9.2 单例模式
9.2.1 问题
9.2.2 实现
9.2.3 结果
9.3 工厂方法模式
9.3.1 问题
9.3.2 实现
9.3.3 结果
9.4 抽象工厂模式
9.4.1 问题
9.4.2 实现
9.4.3 结果
9.4.4 原型模式
9.4.5 问题
9.4.6 实现
9.5 某些模式的骗术
9.6 小结
第10章 让面向对象编程更加灵活的模式
10.1 构造可灵活创建对象的类
10.2 组合模式
10.2.1 问题
10.2.2 实现
10.2.3 效果
10.2.4 组合模式小结
10.3 装饰模式
10.3.1 问题
10.3.2 实现
10.3.3 效果
10.4 外观模式
10.4.1 问题
10.4.2 实现
10.4.3 效果
10.5 小结
第11章 执行及描述任务
11.1 解释器模式
11.1.1 问题
11.1.2 实现
11.1.3 解释器的问题
11.2 策略模式
11.2.1 问题
11.2.2 实现
11.3 观察者模式
11.4 访问者模式
11.4.1 问题
11.4.2 实现
11.4.3 访问者模式的问题
11.5 命令模式
11.5.1 问题
11.5.2 实现
11.6 小结
第12章 企业模式
12.1 架构概述
12.1.1 模式
12.1.2 应用程序和层
12.2 企业架构之外的基础模式
12.2.1 注册表
12.2.2 实现
12.3 表现层
12.3.1 前端控制器
12.3.2 应用控制器
12.3.3 页面控制器
12.3.4 模板视图和视图助手
12.4 业务逻辑层
12.4.1 事务脚本
12.4.2 领域模型
12.5 小结
第13章 数据库模式
13.1 数据层
13.2 数据映射器
13.2.1 问题
13.2.2 实现
13.2.3 效果
13.3 标识映射
13.3.1 问题
13.3.2 实现
13.3.3 效果
13.4 工作单元
13.4.1 问题
13.4.2 实现
13.4.3 效果
13.4.4 延迟加载
13.4.5 问题
13.4.6 实现
13.4.7 效果
13.5 领域对象工厂
13.5.1 问题
13.5.2 实现
13.5.3 效果
13.6 标识对象
13.6.1 问题
13.6.2 实现
13.6.3 效果
13.7 选择工厂和更新工厂模式
13.7.1 问题
13.7.2 实现
13.7.3 效果
13.8 数据映射器中剩下些什么
13.9 小结


第四部分 实践
第14章 良好和糟糕的实践
14.1 超越代码
14.2 借一个轮子
14.3 合作愉快
14.4 为你的代码插上双翼
14.5 文档
14.6 测试
14.7 持续集成
14.8 小结
第15章 PEAR和Pyrus
15.1 什么是PEAR
15.2 了解Pyrus
15.3 安装PEAR包
15.4 使用PEAR包
15.5 创建自己的PEAR包
15.5.1 package.xml
15.5.2 package.xml的组成
15.5.3 contents元素
15.5.4 依赖
15.5.5 使用phprelease进行灵活的自定义安装
15.5.6 准备发布包
15.5.7 创建自己的PEAR频道
15.6 小结
第16章 用phpDocumentor生成文档
16.1 为什么要使用文档
16.2 安装
16.3 生成文档
16.4 DocBlock注释
16.5 类的文档
16.6 文件的文档
16.7 属性的文档
16.8 方法的文档
16.9 在文档中创建链接
16.10 小结
第17章 使用Subversion进行版本控制
17.1 为什么要使用版本控制
17.2 获得Subversion
17.3 配置Subversion代码库
17.4 开始项目
17.5 更新和提交
17.6 增加和删除文件及目录
17.6.1 添加文件
17.6.2 删除文件
17.6.3 添加目录
17.6.4 删除目录
17.7 标记和导出项目
17.7.1 标记项目
17.7.2 导出项目
17.8 创建项目分支
17.9 小结
第18章 使用PHPUnit进行测试
18.1 功能测试与单元测试
18.2 手工测试
18.3 引入PHPUnit
18.3.1 创建测试用例
18.3.2 断言方法
18.3.3 测试异常
18.3.4 运行测试套件
18.3.5 约束
18.3.6 模拟与桩
18.3.7 失败是成功之母
18.4 编写Web测试
18.4.1 为测试重构Web应用
18.4.2 简单的Web测试
18.4.3 Selenium
18.5 警告
18.6 小结
第19章 用Phing实现项目的自动构建
19.1 什么是Phing
19.2 获取和安装Phing
19.3 编写build文档
19.3.1 目标
19.3.2 属性
19.3.3 类型
19.3.4 任务
19.4 小结
第五部分 结论
第20章 持续集成
20.1 什么是持续集成
20.2 CruiseControl和phpUnderControl
20.2.1 安装CruiseControl
20.2.2 安装phpUnderControl
20.2.3 安装项目
20.3 小结
第21章 对象、模式与实践
21.1 对象
21.1.1 选择
21.1.2 封装和委托
21.1.3 解耦
21.1.4 复用性
21.1.5 美学
21.2 模式
21.2.1 模式给我们带来了什么
21.2.2 模式和设计原则
21.3 实践
21.3.1 测试
21.3.2 文档
21.3.3 版本控制
21.3.4 自动构建
21.3.5 持续集成
21.3.6 我们还遗漏了什么
21.4 小结


第六部分 附录
附录A 参考文献
附录B 简单的解析器

前言/序言


掌控PHP的深度:掌握现代软件开发的关键 本书并非一本简单的PHP语法手册,而是为那些希望深入理解PHP语言核心、精通面向对象设计原则、熟练运用设计模式,并在此基础上构建健壮、可维护、高性能Web应用程序的开发者量身打造的进阶指南。如果你已经掌握了PHP的基础知识,并渴望将你的开发技能提升到一个全新的水平,那么这本书将是你不可或缺的旅伴。 不止于基础:重塑你的PHP思维模式 在当今快速发展的Web开发领域,仅仅会写几行PHP代码是远远不够的。现代软件开发强调的是代码的质量、结构、可扩展性和可维护性,而这一切都离不开对面向对象编程(OOP)的深刻理解和灵活运用。本书将带领你穿越PHP的语法表层,深入挖掘面向对象编程的精髓。你将不再只是被动地“调用”类和对象,而是能够主动地“设计”和“构建”清晰、模块化的面向对象系统。 从封装、继承、多态这些OOP的基础概念出发,本书将循序渐进地引导你理解如何在PHP中实现它们,并探讨在实际开发中如何恰当地运用这些特性来解决复杂问题。你将学会如何通过精心设计的类来组织你的代码,如何利用继承来复用和扩展功能,以及如何通过多态来编写更具灵活性的代码。本书还会深入探讨抽象类、接口和Traits等更高级的OOP概念,帮助你构建更具弹性和可维护的代码结构,从而有效应对项目需求的变化。 设计模式的力量:构建优雅而强大的解决方案 一旦掌握了面向对象的精髓,你就会发现,许多在不同项目中反复出现的软件设计难题,其实都有着成熟且经过验证的解决方案。这些方案,便是我们常说的“设计模式”。本书将为你揭示一系列经典的面向对象设计模式,并详细讲解它们在PHP开发中的实际应用。 我们将从创建型模式开始,例如单例模式(Singleton)如何保证全局唯一实例,工厂模式(Factory)如何实现对象的解耦和灵活创建,建造者模式(Builder)如何逐步构建复杂对象。接着,我们会深入到结构型模式,例如适配器模式(Adapter)如何让不兼容的接口协同工作,装饰器模式(Decorator)如何在不改变原对象结构的情况下为其增加新功能,代理模式(Proxy)如何控制对象的访问。最后,我们将探索行为型模式,例如观察者模式(Observer)如何实现对象间的松耦合通信,策略模式(Strategy)如何封装不同的算法并允许它们互相替换,模板方法模式(Template Method)如何定义算法骨架并允许子类重新定义某些步骤。 本书的讲解不仅仅停留在模式的定义和示例,更重要的是,它会引导你理解每种模式背后的设计意图,分析它解决的具体问题,以及在何种场景下选择最合适的模式。通过大量的PHP代码示例,你将亲眼看到这些模式如何被应用于实际的Web开发场景,例如在MVC框架中应用工厂模式创建控制器和模型,在ORM库中应用代理模式实现懒加载,或者在事件驱动系统中应用观察者模式。掌握这些设计模式,将让你拥有构建清晰、灵活、易于维护的应用程序的强大武器。 面向实践的深入探索:从理论到实战的飞跃 理论的学习固然重要,但真正的成长来自于实践。本书的设计理念是理论与实践并重,每一项概念和模式的讲解都紧密结合PHP的实际开发场景。你将学到如何将面向对象的设计原则和设计模式融入到你的日常编码中,从而显著提升代码的质量和可维护性。 本书将深入探讨现代PHP开发中不可或缺的实践: SOLID原则的落地:理解并应用单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP),这些原则是构建高质量、可维护的面向对象系统的基石。你将学习如何在PHP中具体实践这些原则,从而编写出更易于理解、测试和扩展的代码。 依赖注入(Dependency Injection):深入理解依赖注入的概念,学习如何利用它来解耦组件,提高代码的可测试性和灵活性。本书将展示在PHP中实现依赖注入的各种方法,包括构造函数注入、设置器注入和接口注入。 服务容器(Service Container):学习如何利用服务容器来管理对象的生命周期和依赖关系,从而简化应用程序的配置和管理。你将了解服务容器的工作原理,以及如何在PHP项目中有效地使用它。 单元测试与集成测试:认识到测试在现代软件开发中的核心地位。本书将引导你学习如何为你的PHP代码编写有效的单元测试,以及如何进行集成测试,确保你的应用程序按预期工作。你将了解如何利用PHPUnit等流行的测试框架,以及如何将面向对象的设计原则应用于编写可测试的代码。 代码重构的艺术:学习如何识别和改进现有代码中的“坏味道”,并掌握一系列有效的重构技术。你将理解重构的价值,以及如何在不改变代码行为的前提下,逐步提升代码的质量和结构。 性能优化策略:虽然本书侧重于代码结构和设计,但也不会忽视性能。你将了解到一些与面向对象设计相关的性能考量,以及如何在设计层面为性能优化打下基础。 超越框架的普适性:构建可移植的技能 本书的内容并不仅限于某个特定的PHP框架。虽然我们会通过实际的PHP代码示例来阐述概念,但本书传授的核心思想——面向对象设计、设计模式以及高质量的开发实践——是跨越框架的,适用于任何使用PHP进行Web开发的场景。无论你是在使用Laravel、Symfony,还是开发自己的框架,抑或是进行更底层的PHP开发,本书所教授的技能都将为你提供强大的理论支撑和实践指导。 为何选择这本书? 系统性与深度:本书并非零散的知识点罗列,而是系统地构建起一个关于PHP深度开发的知识体系,从基础概念到高级实践,层层递进。 实战导向:每一项理论讲解都伴随着详细的PHP代码示例,并且这些示例都尽可能地贴近真实的开发场景,让你能够立即理解并应用到实际工作中。 前瞻性:本书涵盖了现代PHP开发所强调的许多关键技术和理念,能帮助你跟上技术发展的步伐,编写出符合行业标准的软件。 面向未来:通过掌握本书中的概念和技术,你将能够构建出更易于维护、扩展和测试的应用程序,从而在职业生涯中走得更远。 适合谁阅读? 具备PHP基础的开发者:如果你已经熟悉PHP的基本语法和函数,但想进一步提升编程能力,本书将是你的理想选择。 希望系统学习面向对象编程的开发者:本书将深入剖析面向对象编程的精髓,并将其与PHP结合,帮助你真正理解OOP。 渴望掌握设计模式并应用于实践的开发者:本书提供了详尽的设计模式讲解和实际应用示例。 追求代码质量和可维护性的开发者:本书强调最佳实践,帮助你编写出更高质量的代码。 正在参与或计划构建大型PHP项目的开发者:本书将为你提供构建健壮、可扩展应用程序所需的知识和工具。 踏上这场深入PHP的探索之旅,你将不仅仅是掌握一门语言,更是掌握一种现代软件开发的思维方式和实践方法。这本书将赋能你,让你能够自信地应对复杂的开发挑战,构建出卓越的PHP应用程序。

用户评价

评分

这本书的价值远不止于技术讲解,它更像是一次对PHP开发思维的深度重塑。在阅读“深入PHP:面向对象、模式与实践(第3版)”之前,我总觉得PHP是一种“写脚本”的语言,功能实现是首要目标,而代码结构和规范似乎是次要的。然而,这本书用一种循序渐进的方式,将面向对象思想的精髓融入PHP的开发实践中,让我认识到,良好的代码结构和设计模式是构建大型、复杂、可维护系统的基石。作者在讲解每个概念时,都紧密结合实际开发场景,通过大量的代码示例,生动地展示了如何运用这些技术解决实际问题。特别是关于“实践”的部分,让我学到了很多在课堂上或普通教程中学不到的宝贵经验,比如如何进行有效的单元测试,如何处理错误和异常,以及如何优化代码性能。这些内容不仅仅是理论上的知识,更是可以直接应用于工作中的方法论。我发现,通过学习这本书,我不仅提升了编码能力,更重要的是,我学会了如何从更高的维度去思考和设计PHP项目,如何写出更具“工程感”的代码。

评分

我必须说,“深入PHP:面向对象、模式与实践(第3版)”这本书带给我的震撼,是那种“原来还可以这样写”的豁然开朗。在此之前,我对于PHP的理解,停留在基础语法和一些常用框架的使用上,对于“面向对象”和“设计模式”,只是模糊的概念。读完这本书,我才真正体会到,为什么那些优秀的开源项目能够如此稳定、灵活。作者用一种非常系统和深入的方式,将PHP的面向对象特性剖析得体无完肤,从封装、继承、多态的基础,到抽象类、接口、特性的高级应用,都做了详尽的阐述。而设计模式的部分,更是让我眼前一亮,SRP、OCP、DIP这些设计原则,在书中通过生动的例子被具象化,让我理解了为什么需要这些模式,以及在什么场景下应用它们才能发挥最大的价值。我尝试着将书中的一些方法应用到我最近负责的一个项目中,发现代码的可读性、可测试性和可扩展性都有了显著的提升,团队成员也更容易理解和维护我的代码。这本书不只是技术手册,更是一本思想启迪的宝典。

评分

对于任何想要在PHP开发领域深入钻研的开发者来说,“深入PHP:面向对象、模式与实践(第3版)”这本书都是一本不可或缺的参考。我之前一直以为自己已经掌握了PHP的精髓,直到我遇到了这本书。它不仅仅是罗列API或者讲解语法,而是从更深层次的“为什么”出发,解释了面向对象编程的真正含义,以及它如何能够极大地提升软件开发的效率和质量。作者对PHP的各个面向对象特性进行了详尽的讲解,从基础的类和对象,到更复杂的继承、接口、抽象类,再到PHP 7+引入的命名空间、类型提示等新特性,都做了深入的剖析。尤其让我印象深刻的是,书中关于设计模式的讲解,它不是简单地介绍几种常见的模式,而是通过大量的实际案例,说明了这些模式是如何解决现实世界中的开发难题的。读完这本书,我感觉自己对PHP的理解上升到了一个全新的高度,我不再是单纯地“写代码”,而是开始“设计代码”,思考如何让代码更优雅、更健壮。

评分

这本书绝对是我PHP开发生涯中的一个里程碑。在接触“深入PHP:面向对象、模式与实践(第3版)”之前,我一直在用一种比较“原生”的方式编写PHP代码,虽然能实现功能,但总感觉代码质量参差不齐,可维护性差,尤其是在项目规模上来之后,问题更是层出不穷。读完这本书,我才真正理解了面向对象设计的强大之处,那些关于类、对象、继承、多态的概念不再是纸上谈兵,而是实实在在能提升代码质量和开发效率的工具。作者用清晰的语言和丰富的示例,将复杂的概念拆解得淋漓尽致,让我能够一步步地掌握如何构建更加健壮、可扩展的PHP应用程序。尤其是关于设计模式的部分,单例模式、工厂模式、观察者模式等等,这些在实际项目中经常遇到的“痛点”,在书中找到了优雅的解决方案。我开始尝试在自己的项目中应用这些模式,发现代码变得更易于理解、测试和修改。这不仅仅是一本书,更像是一位经验丰富的导师,在我迷茫的PHP开发道路上指明了方向,让我看到了写出“好代码”的可能性,也让我对PHP这门语言有了更深的敬畏和热爱。

评分

这本书绝对是那种能够让你“相见恨晚”的读物。在接触“深入PHP:面向对象、模式与实践(第3版)”之前,我对PHP的理解,就像是在一个杂乱的仓库里找东西,总能找到,但效率不高,而且很容易出错。而这本书,就像是给我提供了一套完整的仓储管理系统,让我能够清晰地知道每个物品(代码)应该放在哪里,如何组织,如何方便取用。作者在讲解面向对象编程时,非常注重与实际开发场景的结合,他用生动的例子,将抽象的概念具象化,让我深刻理解了类、对象、继承、多态的实际意义。而关于设计模式的部分,更是让我醍醐灌顶,那些曾经让我头疼不已的代码难题,在书中的讲解下,似乎都有了优雅的解决方案。我开始尝试在我的项目中应用书中的一些技巧和模式,发现代码的可读性、可维护性和复用性都得到了极大的提升。这本书不仅仅是技术上的指导,更是一种开发理念的培养,让我从一个“码农”逐渐向一个“工程师”转变。

评分

很好,很不错的书,物流很快,赞一个

评分

很好

评分

很差,质量非常差,书还没看

评分

还不错还不错还不错还不错还不错还不错还不错还不错还不错还不错还不错还不错还不错还不错

评分

讲解透彻,内容丰富,棒棒的!

评分

内容还行,就是里面印得有些页字的颜色很浅,看着很不舒服

评分

书孩不错,就不知道内容怎样,努力,奋斗,我的php!

评分

很好很强大 有很多以前没注意到的问题

评分

给前端同事买的,她自己挑的这本书

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有