php如何看出是什么框架,拿到一个php源码怎么分析它用的是什么框架?
一。先把源代码安装起来,结合它的文档和手册,熟悉其功能和它的应用方式。
二。浏览源代码的目录结构,了解各个目录的功能。
三。经过以上两步后相信你对这个开源的产品有了一个初步的了解了,那现在就开始分析它的源码吧。这一步我们开始分析源代码框架。例如入口方式是单入口还是多入口,页面之间的调用规则,能根据规则找出某个功能用到的页面。
四。熟悉源代码的代码写作风格,例如缩进方式,排版格式等。
五。熟悉一下源代码用到的数据库和表,可以参考它的技术支持文档。
六。经过以上几步相信大家已经对这份源代码有了更深刻的了解,不过这种了解还只是表面的,下来我们从6个方面具体的去分析它吧:
1.入口构造以及页面调用方式的具体实现,如果阅读时看到工具类和工具函数,尽量去熟悉一下。这一步的分析可以学习到源代码的系统架构方式。
2.分析源代码用到的工具类和工具函数,这样可以学到很多程序编写技巧。可以提升自己编程功力。
3.结合一些安全规则,研究这个源代码是怎样实现安全方面的设计的。这样可以提高自己在安全方面的意识和功力。
4.如果有模板引擎的话,研究一下源代码的模板引擎。大致从实现方式,效率,易用性等几个方面去考虑。
5.研究系统的各个功能模块,这样既能学习编程技巧还能打开自己的编程思路,下次遇到类似的东东就心里有谱了。
6.研究系统所用到设计模式,一样的功能实现,用到的设计模式可能相差很多,对比我们之前所作的东东分析设计模式,是提升我们驾驭代码的不二法门。
7.研究源代码对访问压力,执行效率,系统效率,数据库查询的优化。
php如何看出是什么框架,拿到一个php源码怎么分析它用的是什么框架?相关推荐
- php任务平台框架,php威客任务平台源码 任务发布 蚂蚁帮扶 悬赏威客 thinkphp框架...
程序说明: 演示网站:105.yssdsp.com后台:http://105.yssdsp.com/admin/auth/login.html 账号:admin 密码:123456 说明文档 更新说明 ...
- 【Android 插件化】Hook 插件化框架 ( 从源码角度分析加载资源流程 | Hook 点选择 | 资源冲突解决方案 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- 计算机毕业设计JavaVue框架电商后台管理系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计JavaVue框架电商后台管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计JavaVue框架电商后台管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: ...
- TP6框架全新开发社区系统源码开源
正文: TP6框架全新开发社区系统源码开源,本系统采用thinkphp6+mysql全新开发,非市场垃圾各种系统,可搭建商业化运营 安装教程: 上传程序,设置public 为运行目录 伪静态设置: ...
- 【java】本地客户端内嵌浏览器3 - Swing 使用 Spring 框架 + 打包项目 + 转exe + 源码
目录 ★☆★ 写在前面 ★☆★ ★☆★ 本系列文章 ★☆★ ★☆★ 开源网址 ★☆★ 一.给 Swing 加上 Spring 0.前期努力 I. SpringBoot II. SpringMVC 1. ...
- marlin源码gcode解析与算法插补执行框架
marlin源码gcode解析与算法插补执行框架
- java计算机毕业设计Vue框架电商后台管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计Vue框架电商后台管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计Vue框架电商后台管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈 ...
- java计算机毕业设计基于MVC框架的在线书店设计源码+数据库+系统+lw文档+mybatis+运行部署
java计算机毕业设计基于MVC框架的在线书店设计源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计基于MVC框架的在线书店设计源码+数据库+系统+lw文档+mybatis ...
- 基于SSM框架的ERP生产管理系统源码 这是一个ERP生产管理系统
基于SSM框架的ERP生产管理系统源码 这是一个ERP生产管理系统. 主要包括:计划进度.设备管理.工艺监控.物料监控.人员监控.质量监控.系统管理7大模块,每个模块细分了功能,丰富全面. 系统后台整 ...
最新文章
- 技术图文:如何利用C# + Echarts 绘制「堆叠条形图」?
- Centos7设置DNS开机启动
- pytorch torch.zeros
- 新建test.c为什么没有.h文件_新建STM32工程全局声明两个宏的原因
- 关于计算机航天生物的想像作文,未来的航天员想象作文
- Go Token获取异常:token contains an invalid number of segments
- Linux与Windows设置共享文件夹的实现
- sim900发送文件到服务器,sim900与云服务器的连接
- python求和函数详解_python求和函数sum()详解
- 网络信息安全之零信任
- Mac键盘符号说明(全)
- 集群中包括4个节点:2个Master(主备),2个Salve,节点之间局域网连接,可以相互ping通
- 数字化门店| 奶茶店智慧管理系统
- RedHat7.8安装Microsoft Edge浏览器
- 6-1 调用函数打印闰年 (15 分)
- 对耦合电容、极间电容、旁路电容、去耦电容的理解小结
- 许久未曾写过文章了,如今,再度出发:一个一般学校的大三学子,立足过去,展望未来,模糊的规划,坚定的方向,不断前进。
- python安装方法3.8.2_Python 3.8.2详细图文安装教程(附安装包) | 我爱分享网
- LED音乐频谱之概述
- 【嵌入式】初学者一步一步搞懂内存管理
热门文章
- java根据物流单号查询物流详细
- Javascript实现图片轮播效果。
- html图片轮播放大,jquery+CSS3实现轮播图、js实现轮播图片自适应等比显示、图片旋转、图片拖拽、鼠标滚动放大缩小...
- Git配置详细教程及基础使用方法,教你轻松学会git代码管理
- 浅谈 “空指针、野指针、void*”
- 38岁超任模拟器设计者自杀!死前留下真名与神秘自拍照,最后一刻开源higan
- 中央财经大学创新创业中心主任尚超:大数据技术在防范虚假发票中的应用
- 苹果app签名TF签名如何下载安装?
- 外卖优惠券公众号怎么做回复小程序链接
- WeBRTC IOS视频采集流程