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


Posted in PHP onDecember 21, 2014

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

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

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

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

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

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

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

PHP 相关文章推荐
PHP无限分类的类
Jan 02 PHP
建站常用13种PHP开源CMS比较
Aug 23 PHP
PHP中实现获取IP和地理位置类分享
Feb 10 PHP
php生成图片缩略图的方法
Apr 07 PHP
php代码架构的八点注意事项
Jan 25 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
PHP模块化安装教程
Jun 01 PHP
PHP用FTP类上传文件视频等的简单实现方法
Sep 23 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
PHP实现验证码校验功能
Nov 16 PHP
php-fpm添加service服务的例子
Apr 27 PHP
PHP树形结构tree类用法示例
Feb 01 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
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
javascript 闭包疑问
2010/12/30 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
Python查找相似单词的方法
2015/03/05 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
婚礼证婚人证婚词
2014/01/08 职场文书
感恩节活动方案
2014/01/27 职场文书
2014年五一促销活动方案
2014/03/09 职场文书
陈欧广告词
2014/03/14 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
专家推荐信模板
2014/05/09 职场文书
交通事故协议书范本
2014/11/18 职场文书
2015教师年度考核评语
2015/03/25 职场文书
党员承诺书范文2015
2015/04/27 职场文书
小学生表扬稿范文
2015/05/05 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
单位工资证明范本
2015/06/12 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
Python基于百度AI实现抓取表情包
2021/06/27 Python
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python