PHP开发实战权威指南-读书总结

从今年开始,断断续续学习PHP已经有4个月了。
最初,认真学习PHP几天,就弄WordPress搭建了一个个人博客,这也符合技术人的实践理念。

最近,重温PHP开发实战权威指南,做点总结,整理下自己学习方法和心得体会。
由于自己主要从事Java/Java Web开发,对PHP只是简单地总结了下,不少地方是对语言等更高层面的评价和看法。
有不当之处,还望指正。

第1章-PHP基础知识与XHTML
详细介绍了PHP的发展历史与语言特点,简要介绍了PHP相关技术XHTML和CSS的一些基础知识,并给出了几个入门例子。
这使得初学者快速了解PHP的价值,激发了学习的兴趣,为进一步阅读后面的章节和掌握PHP做好铺垫。

第2章-PHP环境搭建与工具
大部分初学者其实最头疼的就属这个了。
每一种语言和技术,走向实践的第1步,就是搭建环境,写个Hello World程序。

环境涉及的因素
a.语言&平台,Java/.Net/PHP
b.操作系统,Windows/Linux,系统的版本也可能是个因素
c.IDE,文本编辑器,Eclipse/Netbeans/WAMP/PHPStudio等

第3章-PHP的基本语法
介绍PHP的语法,如文件结构、写注释的3种方式、语法标识符、变量的类型和作用域,运算符,for等语句。
每一种语言都有自己的语法,它们自己存在很多相似之处,尤其是C系列的语言。
让人烦恼的是,每种语言的相似之处,容易搞混。
比如同样是for循环,写法类似但是又不同,你是否能迅速写出C/C++/Java/C#/PHP/JavaScript的for循环呢?

第4章-PHP的数组
PHP中数组是非常重要的一种数据结构,比较异常强大,掌握起来也要难一点。
相对于C++/Java等语言。

第5章-PHP面向对象
面向对象的核心概念是比较统一的,类/对象/抽象/继承/多态,只是每种语言都有自己的实现机制,
有自己的一套语法和关键字。

面向对象与面向过程2种解决问题的方法,并不矛盾,都值得掌握和应用。
它们都来源于现实世界,有存在和应用的价值。

第6章-字符串处理与正则表达式
介绍了PHP中20多种字符串函数和若干正则表达式规则。

字符串是各种语言中最常见最重要的数据类型(之一)。
这些API和实现算法,在各种语言中是比较类似的,因为它们都来源于现实世界,独立于业务逻辑和行业背景。

第7章-文件系统
文件系统本属于操作系统的一部分。
各种语言都有自己的一套API与操作系统交互。
好的API能够屏蔽底层操作系统的差异和文件系统的异同。

我们现在语言角度来看,语法、开发环境、类库,字符串、数组、面向对象、文件系统等,
每种语言大部分的概念都是非常相似的,每种语言的独特性并不是太多。
因此,掌握一门语言的概念、学习方法,切换到另外一种语言技术,还是相对容易的。
入门容易,深入还是另当别论。
每种语言的学习难度还是有区别的,个人的感触是PHP比Java容易许多。

第8章-MySQL数据库
介绍背景、安装、SQL语法、PHP如何与MySQL交互。
学习Java的时候,也是这么个套路。

第9章-数据库抽象层-PDO和ADOdb
PHP和数据库交互的API有多种实现,跨数据库平台是一个重要的目标。
Java中比较典型的是Hibernate。

第10章-Cookie与Session
2种存储机制,Cookie是Session的基础,都有自己的不同用处,关键是安全问题。

第11章-PHP的模版技术Smarty
模版技术很强大,好处是分离用户界面和业务数据,提高复用性。
坏处就是一条线变成了多条线,失去了简洁性。

引入一种技术是为了解决一种或多种问题,但是很多时候引入的技术本身也有很多问题,
比如学习技术的成本、该技术的缺陷。
因此,引入技术要先调研,权衡利弊。

第12章-PHP图形处理及应用
后台输出图像到前端界面,图形验证码、股票走势图(不要去炒股啊)等需要。

第13章-PHP与XML
2种语言和技术之间的交互。

第14章-PHP与cURL
cURL是一个利用URL语法在命令行方式下工作的文件传输工具。
有兴趣的,请认真学习。

第15章-PHP功能模块的开发
分页、上传、在线支付等常用模块。
常用模块还有很多,总结这些模块的实现思路非常有必要,有助于提高开发效率。

第16章-项目开发与设计
介绍项目开发的一些规范、代码管理工具SVN、调试工具Zend Debugger等。

第17章-OA管理系统开发
以一个项目实践案例,全面应用了前几章介绍的内容。
从理论到实践,接地气。

标签