学习php开源项目的源码指南


Posted in PHP onDecember 21, 2014

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

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

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

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

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

六。经过以上几步相信大家已经对这份源代码有了更深刻的了解,不过这种了解还只是表面的,下来我们从6个方面具体的去分析它吧:
           1.入口构造以及页面调用方式的具体实现,如果阅读时看到工具类和工具函数,尽量去熟悉一下。这一步的分析可以学习到源代码的系统架构方式。
           2.分析源代码用到的工具类和工具函数,这样可以学到很多程序编写技巧。可以提升自己编程功力。
           3.结合一些安全规则,研究这个源代码是怎样实现安全方面的设计的。这样可以提高自己在安全方面的意识和功力。
           4.如果有模板引擎的话,研究一下源代码的模板引擎。大致从实现方式,效率,易用性等几个方面去考虑。
           5.研究系统的各个功能模块,这样既能学习编程技巧还能打开自己的编程思路,下次遇到类似的东东就心里有谱了。
           6.研究系统所用到设计模式,一样的功能实现,用到的设计模式可能相差很多,对比我们之前所作的东东分析设计模式,是提升我们驾驭代码的不二法门。
           7.研究源代码对访问压力,执行效率,系统效率,数据库查询的优化。

以上是个人的一些经验总结,这里抛砖引玉一下,大家有什么更好的方法,还请告之一下。

PHP 相关文章推荐
用PHP连接Oracle for NT 远程数据库
Oct 09 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
Feb 04 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
WampServer搭建php环境时遇到的问题汇总
Jul 23 PHP
php生成动态验证码gif图片
Oct 19 PHP
php生成验证码函数
Oct 20 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
Laravel 集成 Geetest验证码的方法
May 14 PHP
PHP之header函数详解
Mar 02 PHP
php数组添加元素方法小结
Dec 20 #PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 #PHP
php中http与https跨域共享session的解决方法
Dec 20 #PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 #PHP
thinkphp中session和cookie无效的解决方法
Dec 19 #PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 #PHP
thinkphp3.2.2实现生成多张缩略图的方法
Dec 19 #PHP
You might like
新52大事件
2020/03/03 欧美动漫
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
PHP获取网站域名和地址的代码
2008/08/17 PHP
php面向对象全攻略 (五) 封装性
2009/09/30 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
php结合curl实现多线程抓取
2015/07/09 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
日期 时间js控件
2009/05/07 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
jquery插入兄弟节点的操作方法
2016/12/07 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python中方法链的使用方法
2016/02/23 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
自动化毕业生专业自荐书范文
2014/02/04 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
4S店销售内勤岗位职责
2015/04/13 职场文书
师德师风培训感言
2015/08/03 职场文书
停车场管理制度范本
2015/08/05 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书