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


Posted in PHP onDecember 21, 2014

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

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

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

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

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

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

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

PHP 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
将数组写入txt文件 var_export
Apr 21 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
php的大小写敏感问题整理
Dec 29 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
PHP5.5迭代生成器用法实例详解
Mar 16 PHP
php 变量引用与变量销毁机制详细介绍
Dec 05 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
默默简单的写了一个模板引擎
2007/01/02 PHP
php htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
深入探讨PHP中的内存管理问题
2011/08/31 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
Python操作mongodb数据库的方法详解
2018/12/08 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
200行python代码实现2048游戏
2019/07/17 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
numpy np.newaxis 的实用分享
2019/11/30 Python
Python selenium自动化测试模型图解
2020/04/15 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
Django celery异步任务实现代码示例
2020/11/26 Python
个人简历的自荐信
2013/10/23 职场文书
小区停车场管理制度
2014/01/27 职场文书
小学英语教学反思
2014/01/30 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
诚信考试承诺书范文
2015/04/29 职场文书