怎样去阅读一份PHP源代码

原创 2011年01月16日 10:35:00

提示:
转帖此文章,并不代表,我支持这个观点。因为,任何技术文章和观点,都有一个最基本的前提,那就是针对的读者不同。不是所有的文章都是针对初学者,尤其是那些没有基础的人,这简直就是误人子弟,贻笑大方。

 

技术的快速进步,最好的途径就是阅读源代码了。(根本不是那么回事,这种方法尤其适合于有工作经验的开发者,而不是初学者!)自己也阅读了很多开源的程序,感觉方法很重要,好的方法可以达到事半功倍的效果。一下就是我自己的一些新的,希望对大家都有用。

 

一份好的源代码例如 dz的论坛,wind论坛,帝国cms,dedecms等,都具有自己的一套设计思路和设计模式(都是类似的产品,设计思路、设计模式大同小异,唯一是由于人对同一事物不同的理解罢了!),所以在看某个产品之前就要做好心理准备,可以把自己的经验(没有经验的怎么办,难道不是看天书吗?)和这些产品做对比,但千万别一直用自己的思维去评判。

 

一句话就是“以学习和批评的辩证思想去看待”。

好吧!我们就开始吧!

 

那具体的我们怎样去阅读一份PHP的源代码呢?

 

一、先把源代码安装起来,结合它的文档和手册,熟悉其功能和它的应用方式。

 

二、浏览源代码的目录结构,了解各个目录的功能。

 

三、经过以上两步后相信你对这个开源的产品有了一个初步的了解了,那现在就开始分析它的源码吧。这一步我们开始分析源代码框架。例如入口方式是单入口还是多入口,页面之间的调用规则,能根据规则找出某个功能用到的页面。

 

四。熟悉源代码的代码写作风格,例如缩进方式,排版格式等。

 

五。熟悉一下源代码用到的数据库和表,可以参考它的技术支持文档。

 

六。经过以上几步相信大家已经对这份源代码有了更深刻的了解,不过这种了解还只是表面的,

 

下来我们从6个方面具体的去分析它吧:

 

1.入口构造以及页面调用方式的具体实现,如果阅读时看到工具类和工具函数,尽量去熟悉一下。这一步的分析可以学习到源代码的系统架构方式。

 

2.分析源代码用到的工具类和工具函数,这样可以学到很多程序编写技巧。可以提升自己编程功力。

 

3.结合一些安全规则,研究这个源代码是怎样实现安全方面的设计的。这样可以提高自己在安全方面的意识和功力。

 

4.如果有模板引擎的话,研究一下源代码的模板引擎。大致从实现方式,效率,易用性等几个方面去考虑。

 

5.研究系统的各个功能模块,这样既能学习编程技巧还能打开自己的编程思路,下次遇到类似的东东就心里有谱了。

 

6.研究系统所用到设计模式,一样的功能实现,用到的设计模式可能相差很多,对比我们之前所作的东东分析设计模式,是提升我们驾驭代码的不二法门。

 

7.研究源代码对访问压力,执行效率,系统效率,数据库查询的优化。

 

方法只是途径和工具,具体实践还需要大家的努力。自己的感想是不要着急,认真分析,把分析心得用到自己的具体项目上(你闲的没事吧!

有大把空闲的时间吗?),呵呵!

 

附录:在这里很多人都犯了一个最常见的错误,我们不是总有时间来学习!尤其是工作以后,除非你闲的没事干,否则劝你还是把经历放到重要的地方,不是说你不能做这件事,而是当你已经基本解决了温饱的情况下,你爱干什么没人管你!但请不要再来忽悠别人了!

阅读nginx源代码---推荐

阅读nginx源代码 2010-04-18 15:21:20      周末和同事一起讨论nginx的优缺点,有了深入了解nginx的冲动,再加上一直都没有在Linux下用C写...
  • robertzhouxh
  • robertzhouxh
  • 2013年04月13日 22:31
  • 1509

献给新手,如何阅读Linux源码(转)

常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:  ...
  • hzqnju
  • hzqnju
  • 2013年12月25日 09:38
  • 7202

怎样阅读一份PHP开源代码

怎样阅读一份PHP开源代码 很多朋友估计都会在网上下载开源的PHP源代码,style="font-weight:bold;">PHP源代码怎么用很简单:将...
  • dongfengkuayue
  • dongfengkuayue
  • 2014年07月03日 15:11
  • 4255

Linux内核源代码的阅读和工具介绍

随着linux的逐步普及,现在有不少人对于Linux的安装及设置已经比较熟悉了。与Linux 的蓬勃发展相适应,想深入了解Linux的也越来越多。而要想深入了解Linux,就需要阅读和分析linux内...
  • zhoudengqing
  • zhoudengqing
  • 2014年11月21日 13:10
  • 1161

django源码阅读

最近再看django-bootstrap-toolkit,一直困惑于静态文件的路径问题。所以只能从源码入手了。 从manage.py开始。 manage.py 比较简单就几句话。 #!/usr/...
  • ye_mingjia
  • ye_mingjia
  • 2015年01月07日 14:32
  • 539

Apache运行机制剖析

Apache运行机制剖析: 1. B/S交互过程 浏览器(Browser)和服务器(Web Server)的交互过程:   1、  浏览器向服务器发出HTTP请求(Re...
  • haluoluo211
  • haluoluo211
  • 2015年01月15日 09:24
  • 359

xv6源码分析(一):BootLoader

BootLoader是操作系统启动时的重要一环,负责从实模式切换到保护模式并且将存在存储设备的操作系统二进制文件读入内存,最后将控制权交给操作系统。 一、计算机启动时的硬件动作 PC机上电时运行的...
  • qq_25426415
  • qq_25426415
  • 2017年01月17日 16:09
  • 2559

牛人教你如何阅读源码

1、腾讯IMWEB负责人说: 首先,搞清楚自己要读懂他们的原因和动机。 其次,可以先看下这些优秀框架或者库的设计文档和架构图,这样会让你宏观上对一些概念有些认识。  然后,从你最感兴趣的一个...
  • Maxbyzhou
  • Maxbyzhou
  • 2016年05月16日 13:52
  • 8280

QT源代码阅读

我们进入 qt/src 文件夹。你可能对这里的目录名时曾相识,因为几乎这里的所有文件夹名都对应着 Qt 的模块的名字:gui,network,multimedia等等。我们从最核心的 QtCore 开...
  • u011125673
  • u011125673
  • 2016年05月09日 16:50
  • 3089

Android-->阅读别人的项目源码

上一篇,我们成功导入并运行了 贝壳单词 项目. 这篇文章, 带大家一起读一读源码.打开 贝壳单词 项目,定位到文件 AndroidManifest.xml 我们今天的一切,都从这里开始;(这个...
  • angcyo
  • angcyo
  • 2015年05月21日 11:35
  • 4513
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎样去阅读一份PHP源代码
举报原因:
原因补充:

(最多只允许输入30个字)