- 定价:¥89.00
- 校园优惠价:¥62.30 (70折) (马上了解)
- 评分:
(已有11条评价)
- 电子书:PHP核心技术与最佳实践
- 促销活动:
- 此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
基本信息

【插图】

编辑推荐
系统归纳和深刻解读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技术工程师,精通PHP及其相关技术,尤其擅长于PHP框架开发和应用架构。他还是一位资深的Java开发工程师,具有Fortran、Scala和C++语言的开发和使用背景,在传统软件和互联网开发领域都有丰富的实战经验。此外,他还擅长TCP/IP编程、多线程与并发程序设计、网络协议分析、数据库性能优化以及各种缓存技术,熟悉MySQL和Oracle等关系数据库产品。现从事网络安全软件开发,以及移动SI业务开发。对语言特性和软件设计思想有独到的见解,追求代码之美和高效率程序开发,爱好钻研底层技术,崇尚和提倡“以理论指导实践”。尤其爱好数学,认为数学是培养和锻炼思维和逻辑能力的重要工具,对算法有一定研究。长期活跃在PHPChina、ITeye和看雪论坛等社区,在PHPChina社区担任版主。
目录
前言
第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
前言
近几年,市场上关于PHP的书已经很多了,各种培训机构也如雨后春笋般不断增加。那为什么还要写这本书呢?这本书存在的意义又在哪里?这要从下面的几个问题说起。
有没有这样一本PHP教材,它不讲HTML和CSS,也不讲JavaScript基础,甚至不讲PHP语法基础?
有没有这样一本PHP教材,它不讲留言本或博客的开发,也不讲数据库的CRUD操作?
有没有这样一本PHP教材,它专注于Web开发技术的最前沿,深入浅出,适合中高级程序员的进阶和提高?
有没有这样一本PHP教材,它提倡面向对象的程序思想,提倡算法和数据结构的重要性,提倡对网络协议的深入理解,且没有大篇幅的代码,而是更多偏重于理论讲解?
有没有这样一本PHP教材,它探讨PHP的扩展开发,探讨高并发大流量的架构,深入探讨NoSQL的内部实现和细节?
以上几个问题也是我在早期PHP学习的过程中一直在寻找的答案,可是我并没有找到一本理想的PHP书籍,一本适合中高级程序员进阶的书籍。当怀着同样问题的旭松兄找到我时,我们不禁产生一个念头:“既然现在市场上缺少一本这样的书籍,我们何不自己写一本呢?利己利人的事值得去做。”然后一拍即合,说做就做,现在这本书经历长达一年多的酝酿和写作过程终于完稿了。
我是在大学期间接触到PHP语言的,并马上被其简洁的语法和极高的开发效率所吸引,一头扎进PHP开发的世界中。随着学习的深入,并经常关注PHP社区的动态,我很快意识到一些PHP社区普遍存在的问题。比如PHP社区一直争论算法重不重要,面向对象好不好,代码质量重要还是开发速度重要的问题。还有譬如为什么我去大型互联网公司应聘PHP程序员,却不考察我对PHP语法和函数的掌握情况,而是会问我C语言、算法、网络协议、高并发处理、MVC理论这些看似和PHP不沾边的问题。
PHP到底要怎么学,学什么,一个高级PHP程序员应该是什么样的,我想这也是很多PHP新手和工作一两年的PHP开发者的疑惑。这本书所要解决的就是这一系列的问题。
在我看来,一本技术书籍的价值在于其对知识的提炼和与众不同的地方。举例来说,到一个书店去看书,你最想用笔抄下来或撕下来带走的那几页,就是对你帮助最大的东西,也是你认为这本书的价值所在。也是基于这个想法,我们思考这本书该写什么,怎么写,哪些地方对读者有帮助。我们试图从不同的角度带领读者来看PHP,进而给这本书注入一些不一样的东西。我们希望这是一件有意义的事。
本书适合的对象
PHP爱好者;
想进阶的初级PHP程序员;
对PHP扩展开发感兴趣的读者;
对高并发感兴趣的读者;
对NoSQL应用和实现原理感兴趣的读者;
从事PHP网络应用,想知道HTTP协议、Socket等更多细节的开发人员;
想就职于大型互联网公司的PHP程序员;
开设相关课程的大专院校的学生;
媒体评论
面向对象是什么?以下是维基百科对面向对象的解释:
面向对象程序设计(Object-Oriented Programming,OOP)是一种程序设计范型,同时也是一种程序开发方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和可扩展性。
面向过程、面向对象以及函数式编程被人们称为编程语言中的三大范式(实际上,面向过程与面向对象都同属于命令式编程),是三种不同编码和设计风格。其中面向对象的核心思想是对象、封装、可重用性和可扩展性。
面向对象是一种更高级、更抽象的思维方式,面向过程虽然也是一种抽象,但面向过程是一种基础的抽象,面向对象又是建立在面向过程之上的更高层次的抽象,因此对面向对象的理解也就不是那么容易了。
面向对象和具体的语言无关。在面向对象的世界里,常常提到的两种典型语言——C++和Java。它们都是很好的面向对象的开发语言。实际上,像C语言这种大家普遍认为的面向过程开发的主打语言,也能进行面向对象的开发,就连JavaScript这门很久之前一直被视作面向过程编程的语言,人们对它的认识也发生了改变,逐渐承认其是面向对象的语言,并且也接受了JavaScript独特的面向对象的语法。所以我们说面向对象只是种程序设计的理念,和具体的语言无关。不同的程序员既可以用C语言写出面向对象的风格来,也可以用Java写成面向对象的风格。这里并不是说面向对象的风格要优于面向过程,而是二者各有自己所擅长的领域。OOPL(Object-Oriented Programming Language)可以提高程序的封装性、复用性、可维护性,但仅仅是“可以”,能不能真正实现这些优点,还取决于编程和设计人员。就PHP而言,其不是一门纯的面向对象的语言,但是仍然可以使用PHP写出好的面向对象风格的代码。
实际开发中,面向对象为什么让我们觉得那么难·面向对象究竟难在什么地方?为什么面向对象开发在PHP里一直不是很受重视,并且没有得到普及和推广?PHP对面向对象的支持到底如何?怎么学习面向对象的思维?
在这里,我们将就面向对象一些概念展开讨论,其中重点讨论PHP特色的面向对象的风格和语法,并通过相互借鉴和对比,使读者认识PHP自身的特点,尤其是和其他语言中不同的地方。
……
书摘
面向对象是什么?以下是维基百科对面向对象的解释:
面向对象程序设计(Object-Oriented Programming,OOP)是一种程序设计范型,同时也是一种程序开发方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和可扩展性。
面向过程、面向对象以及函数式编程被人们称为编程语言中的三大范式(实际上,面向过程与面向对象都同属于命令式编程),是三种不同编码和设计风格。其中面向对象的核心思想是对象、封装、可重用性和可扩展性。
面向对象是一种更高级、更抽象的思维方式,面向过程虽然也是一种抽象,但面向过程是一种基础的抽象,面向对象又是建立在面向过程之上的更高层次的抽象,因此对面向对象的理解也就不是那么容易了。
面向对象和具体的语言无关。在面向对象的世界里,常常提到的两种典型语言——C++和Java。它们都是很好的面向对象的开发语言。实际上,像C语言这种大家普遍认为的面向过程开发的主打语言,也能进行面向对象的开发,就连JavaScript这门很久之前一直被视作面向过程编程的语言,人们对它的认识也发生了改变,逐渐承认其是面向对象的语言,并且也接受了JavaScript独特的面向对象的语法。所以我们说面向对象只是种程序设计的理念,和具体的语言无关。不同的程序员既可以用C语言写出面向对象的风格来,也可以用Java写成面向对象的风格。这里并不是说面向对象的风格要优于面向过程,而是二者各有自己所擅长的领域。OOPL(Object-Oriented Programming Language)可以提高程序的封装性、复用性、可维护性,但仅仅是“可以”,能不能真正实现这些优点,还取决于编程和设计人员。就PHP而言,其不是一门纯的面向对象的语言,但是仍然可以使用PHP写出好的面向对象风格的代码。
实际开发中,面向对象为什么让我们觉得那么难·面向对象究竟难在什么地方?为什么面向对象开发在PHP里一直不是很受重视,并且没有得到普及和推广?PHP对面向对象的支持到底如何?怎么学习面向对象的思维?
在这里,我们将就面向对象一些概念展开讨论,其中重点讨论PHP特色的面向对象的风格和语法,并通过相互借鉴和对比,使读者认识PHP自身的特点,尤其是和其他语言中不同的地方。
……