《深入PHP:面向对象、模式与实践(第3版)》是一本非常重要的PHP编程指南,其全面介绍了如何使用面向对象技术和设计模式进行PHP编程,并详细讲解了如何实现可维护、可扩展、可重用的代码,此外,本书还提供了关于Subversion和多人协作的实用信息,对于需要深入了解PHP编程的开发人员来说,这本书是绝对不可或缺的,它不仅能够帮助读者更好地理解PHP面向对象的编程方式,还可以提升他们的编程实践能力。
读者评价
php 面向对象开发了一年左右了。但是没有十分具体细化的学习思想。希望这本书可以更好的理解和应用。这本PHP书籍还是不错的,里面的内容对于初学者来说比较有用。
这书跟踪一年多了,貌似每次满减活动都没份参与,要么就是瞬间没货,还好这次抢到优惠券,也算减了不少。之前入门对象时在PDF上看过前面几章,讲解比较透彻,买纸书回来方便划重点和复习。很多基础知识,系统性的讲了,用的都是高大尚的名词有些基础的买来看看系统的整理自己的知识体系还是不错的。
内容比较深入的,不建议初学者入手,并且这本书比较老了,composer已经取代了pear,git也基本取代了svn。但是前面讲的思想部分是不会过时的。
每个段落先提出问题, 给出实现, 并讨论成效,
对于OO入门有一定帮助,能够帮助开拓思路,对OO老鸟有参考价值,可以换换空气,让脑子清空一下,听听别人说什么,对开发新程序有一定作用
内容并不能说新颖,毕竟内容已经是2007的了,不过设计模式并不会随着技术的改进而有多少变化,毕竟理论层面上不会有什么改变的东西
该书的第三版早已上市,中文版什么时候出现不得而知,该书的中文翻译算是我看过的php书籍中质量较高的一本,虽然是第二版,我并不认为这会妨碍你阅读第二版的中文版,好书就是好书,过几年仍然会是,推荐阅读
另外一本是PHP in Action。
PHP架构中常用的设计模式不多,书中基本都谈到了。我觉得学习设计模式最好是和框架一起进行,一个是理论,一个是实践,而且流行的框架基本代表了设计的最新思想,设计模式没有好坏之分,所以有空都应该学学。
看到有人说这本书没有达到书名的目标,可能“深入”这个词让他产生的误解了吧,这本书更像一本实实在在的PHP进阶指南。
本书全文分为三个方面:PHP面向对象思想,PHP设计模式,PHP实践。这三个方面对于初级PHP工程师进阶来说都是很重要的内容。
PHP OOP,一般非直接通过PHP入门编程的童鞋对OOP都应该有一定的理解,这些内容对于PHP草根工程师更有帮助。此外,这一部分对PHP的一些OOP特性进行了阐述。
PHP 设计模式,这一块介绍了比较常用的设计模式,并且用PHP的语法进行了实现,对于对设计模式理解不到位的童鞋有帮助。此外,这一部分还涉及一些架构方面的内容,但是浅尝辄止,有兴趣的童鞋可以看一看《企业应用架构模式》一书
PHP 实践,对于不了解的童鞋帮助很大,对于有所了解的童鞋帮助很小。这一块比较成体系的介绍了PHP开发的相关工具,仔细看一遍还是有一些收获的。不过,关于包管理一节用到的PEAR包未免太落后了,可以不用学,把精力用来学Composer是更优的选择。至于版本管理,SVN已经落伍了,不过学习一下倒也无妨,本书下一版本已经把SVN换成Git了。
过程:花了一个月的时间把书中的主要部分,‘面向对象’和‘模式’部分。第三部分我只是选读了我认为比较有用的‘单元测试’章节。
翻译: 不错。没有咬文嚼字,通俗易懂,都是按照中国程序员对专属名词的普遍认识所翻译的。
内容部分-‘面向對象’:在读面向对象部分时,我对本书还是抱有很大希望了,东西讲的比较深入,虽然有错误的地方,但是结构还是比较清晰。作者没有把读者当作是刚刚进入php世界的小孩子,而是认为读者有了一定的工作经验。所以在作者花了更多的精力来,讲解面向对象的高级特性,还为了给最重要的‘模式’部分铺路,讲了一下’对象与设计‘。
内容部分-‘模式’: 我对第7-11章节还是比较满意的,作者没有太纠缠于任何一个复杂的设计模式,从一些原则开始讲起,譬如,‘组合与继承’,’解耦‘, ’聚合‘,‘正交’等等。作者将这些零散而又重要的知识点一一呈现,并且细细讲清楚说明白,我还是觉得蛮受用的。一条’针对接口编程,而不是针对实现编程‘贯彻始终。 后面几个章节的各个小模式不管有用没用讲的也算是清晰(都画了UML)。但是,但是,个人认为最最恶心的第12,13章节让我彻底对这本书失望至极,如果说企业模式章节,是为了说明MVC结构的好,那我觉得还勉强说的过去,毕竟有对前面章节的一些知识点的升华,但是‘数据库模式’章节,我就真的不能忍受了。一上来就搞了一个‘数据库映射器’,我不知道该不该称其为模式。其作用是将数据库表中的行和列转换成项目中的数据结构,这么看感觉还是蛮有意义的,但是使用的方法比较复杂,最可气的是当你废了很大功夫搞懂之后,这一章的后半部分开始说这个方法有哪里哪里不好,我们应该把它细化,而使用的方法针对性很强,灵活性不高,感觉上只有‘解耦和’这个作者的思想可以运用到实战中,书中提到的代码我看就算了吧。
都有更好的替代品:想获得面向对象的知识,可以看《php手册》。想获得模式的知识,可以看《Head First设计模式》。而第三部分“时间”的各个工具,我想也应该和phpunit一样有官方手册可以看吧。没有必要花时间在这本书上面。除非你已经很了解我上面提到的经典书籍里面的知识,想看看如何用php来实现模式的各个概念的,那。。。就看看它吧。
读第一遍读到数据库模式, 感觉吃不消了, 所以跳过去直接读后面的实践部分. 目前在读第二遍, 希望这次能吃透作者讲的数据库模式.
这绝对是一本每读一遍都会受益一便的好书, 虽然书中讲的各种模式目前看来没有应用到工作中的机会, 但是通过作者的讲解, 你会看到这些模式一旦应用到项目中, 会给整个代码的架构和质量带来多大的提升.
很久之前就想买一本介绍模式的书, 看亚马逊的评论, 有三个选择, 四人帮的设计模式, head first desgin pattern 和这一本. 如果你是 php 程序员, 有一定的代码经验, 想了解一下设计模式, 这本书应该是你第一本入手的书. 四人帮的设计模式应该是你的进阶书. 而我个人来说不是那种中意类似 看读学XX 的读者, 如果你是的话可能 head first design pattern 比较适合你.
该书的结构很清晰, 作者行文也很流畅, 虽然有个别语句可能读第一遍不很明白, 但那很可能是你没有透彻理解当前的上下文, 返回多读几遍便能了解作者的用意. 翻译质量算很高的了. 但是其中的错误(不知是印刷错误还是作者的错误还是译者的错误)有点多, 我目前都有一个长长的列表,打算去官方勘误页面提交(不过貌似现在打不开...).
对象, 模式 和实践是本书的三个核心部分, 有人说第三部分不是很必要, 但是对于项目经验不是很丰富的程序员来说, 第三部分绝对会对你项目开发流程的认识拓展很多, 个人觉得是不能忽略的部分.
对象部分对 php 对面向对象的支持和实现讲解的很透彻, 不过重点是在实现, 而不是设计, 如果你需要面向对象设计方面的知识, 这部分是远远不够的, 但是对于 PHP 面向对象的实现, 这部分应该是你需要读得唯一的东西了.
模式部分是本书的精华部分, 我个人也在网上或视频教程中学过设计模式, 但是还是感觉这本书对于模式的讲解最为透彻. 包括项目中遇到的真实问题, 可能的解决方案, 每种解决方案的不足之处, 引入设计模式, 讲解模式的实现以及实现结果的优势和不足之处, 实现的可能变种...等等方方面面. 全面而透彻.
5星推荐给任何想要对 OOP 有所了解并应用到项目中的程序员.
设计模式一直以来很难懂,之前遇到很大的瓶颈,买回来这本书,读起来基本一目十行,不是因为内容太简单,而是该做的我都已经做过了,只是在模式上认识还不够清晰,概念体系不完整,所以想看书补补,觉得这本书设计模式部分写的非常好。甚至这本书应该只保留对象和设计模式部分,其它都是多余的。推荐已经了解并且实践过的同行们都来一读,模式这种东西基本上不会发生太大改变,这本书里描述的也算是非常精准了。
至于其它部分,变化太快,比如工具中,phar没有讲到,发展历程中,错误的预计了php的发展方向:php6搁浅了,phpng(也就是php7)将在2015年推出第一个版本。不过也无怪于作者,毕竟写这本书的时候鸟哥都没有在github上提交过php的源码。去掉这些多余的部分这本书简直可以堪称完美,或者保留发展历史,把展望去掉,太不好展望了,需要充分了解开源社区中风起云涌的变化。
内容简介
本书是PHP专家经典力作的新版本。书中主要介绍了如何使用面向对象技术和设计模式编写稳定的、可维护的代码,如何使用Subversion管理多个开发人员,如何使用Phing和PEAR进行构建和安装,以及将构建和测试过程自动化的策略,包括持续集成。适合中高级PHP程序员阅读。
目录
- 第一部分 介绍
- 第1章 PHP:设计与管理
- 第二部分 对象
- 第2章 PHP与对象
- 第3章 对象基础
- 第4章 高级特性
- 第5章 对象工具
- 第6章 对象与设计
- 第三部分 模式
- 第7章 什么是设计模式?为何使用它们
- 第8章 模式原则
- 第9章 生成对象
- 第10章 让面向对象编程更加灵活的模式
- 第11章 执行及描述任务
- 第12章 企业模式
- 第13章 数据库模式
- 第四部分 实践
- 第14章 良好和糟糕的实践
- 第15章 PEAR和Pyrus
- 第16章 用phpDocumentor生成文档
- 第17章 使用Subversion进行版本控制
- 第18章 使用PHPUnit进行测试
- 第19章 用Phing实现项目的自动构建
- 第五部分 结论
- 第20章 持续集成
- 第21章 对象、模式与实践
- 第六部分 附录
- 附录A 参考文献
- 附录B 简单的解析器