2019独角兽企业重金招聘Python工程师标准>>>

最近在学习Kohana这个框架,发现里面的结构层次很齐全完整。但从另一方面来说,更像是一个地地道道的面向对象的开发框架,如果根据《设计模式解析》一书中介绍的理念重构,绝对是一个了不起的框架 。以下是一些个人的分析结果,仅供参考。

框架代码静态分析:

1、继承层次过多,很多为没必要的接口继承

2、类的内部声明和实现混乱,静态与构造类混乱 (静态方法、类属性、构造函数、类方法)

3、内核抽象类与框架核心类混乱,即作为最抽象层的Kohana 与外部有交错,包的界定不明确(内外交错继承)

4、父类依赖于子类,不符合依赖倒置原则

5、感觉是标准面向对象的做法

6、代码行内注释很多

7、假抽象,即最高层的抽象类,其实都是static的方法,毫无抽象可言

8、继承泛滥,static泛滥

9、$data = base64_decode($data, TRUE);

10、对数组更简单的转换写法:

if (!is_array($arr)) {

$arr = array($arr);

}

$arr = (array)$arr;

11、strtr strtr — 转换指定字符 相当于str_replace

12、register_shutdown_function(PHP 4, PHP 5) 注册脚本退出时的一些回调函数,特别适合于日记的最后写入,但是在die()的情况下会终止,exit()可以,但在回调函数里面的exit()不行

13、有代码示例,和使用说明,示例代码首页空一段

14、生成TOKEN更好的方法:$token = sha1(uniqid(NULL, TRUE));  string(40) "5e8000b3f16ba703c7cfc367571a90ec1bdfa295"  //sha1(PHP 4 >= 4.3.0, PHP 5) 返回值是一个 40 字符长度的十六进制数字。

15、一堆没用的代码在./kohana/system/classes

最后,附图一张:

转载于:https://my.oschina.net/dogstar/blog/371263

Kohana - PHP5框架 - 我看过的开源框架相关推荐

  1. python游戏服务器框架_Scut游戏服务器免费开源框架--快速开发(2)

    Scut快速开发(2) Python脚本开发 1 开发环境 Scut Lib版本:5.2.3.2 需要安装的软件 a) IIS和消息队列(MSMQ) 进入控制面板,程序和功能 b) SQL Serve ...

  2. dwr框架ajax验证账号,dwr-Ajax开源框架

    dwr全称Direct Web Remoting原理将java代码转化成js对象,实现跨域访问 web.xml<?xml  version="1.0" encoding=&q ...

  3. 【完结】12大深度学习开源框架(caffe,tf,pytorch,mxnet等)快速入门项目

    这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpeng2008/yousa ...

  4. 【完结】给新手的12大深度学习开源框架快速入门项目

    文/编辑 | 言有三 这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpen ...

  5. java ibatis 获取执行的sql_阿里Java技术面开源框架面试真题曝光,这些真题你能答对多少?...

    前言: 又到了一年的金九银十季,相信有很多朋友都已经有了跳槽的准备,或者有已经跳槽成功的朋友,我也有一个利用这次机会跳槽阿里的朋友,下面我分享的就是他面试记得的阿里面试关于spring全家桶的一些问题 ...

  6. 12大深度学习开源框架(caffe,tensorflow,pytorch,mxnet等)汇总详解

    这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpeng2008/yousa ...

  7. 从零开始部署Guns V4.0 (SpringBoot开源框架)教程

    开篇废话:Guns作为一个较新且流行的SpringBoot框架,对于那些已经接触过各种SSH,SSI,SH等传统的JAVAEE框架的老手们来说肯定是很快就能够成功部署和掌握的了,但也不免有许多新手想学 ...

  8. 深度学习开源框架知识汇总

    深度学习开源框架知识汇总 1 概述 1.1开源框架总览 1.2如何学习开源框架 2 开源框架 2.1 Caffe (1)caffe的使用通常是下面的流程: (2)caffe:图像分类从模型自定义到测试 ...

  9. 11 个 AI 和机器学习模型的开源框架

    译文链接:http://www.codeceo.com/article/11-frameworks-for-ai-and-ml.html 英文原文:11 Open-Source Frameworks ...

  10. Jeasyframe 开源框架 V1.6 发布

    2019独角兽企业重金招聘Python工程师标准>>> 产品介绍: Jeasyframe开源框架是基于SSH框架开发的一款开源框架,框架集成了公司.部门.职位.用户.角色.菜单.权限 ...

最新文章

  1. 了解你所不知道的SMON功能(三):清理obj$基表
  2. 【快乐水题】229. 求众数 II
  3. SAP UI5 -all controls within the same view will share the same data Model
  4. CCPC-Wannafly Winter Camp Day8 (Div2, onsite) A 题 Aqours (精巧的树形DP)
  5. 操作系统【五】分段内存管理+段页式内存管理
  6. java中的让步_java基本教程之线程让步 java多线程教程
  7. 鸿蒙系统 塞班,华为鸿蒙系统来了:安卓系统会成为下一个“塞班”吗?
  8. ubuntu和windows上pip和windows上conda国内源更新module
  9. php设置http请求头信息和响应头信息
  10. flash传值给javascript,并在html页面输出,javascript向flash swf文件传递参数值注意细节...
  11. 1z0_031 视频课程随记
  12. java静态接口方法使用_使用静态方法对接口进行Java编程
  13. c语言匀加速直线运动求位移,匀加速直线运动规律.doc
  14. 模电学习笔记--二极管
  15. 性价比高的/便宜又好用的SSL证书品牌有哪些?
  16. Bezout's Lemma 学习笔记
  17. 内存卡打不开需要格式化怎么恢复数据
  18. PDF限制编辑怎么解决
  19. netty系列之:请netty再爱UDT一次
  20. GOF23种设计模式精解

热门文章

  1. python函数参数用法_Python:函数参数类型及其用法
  2. 凸优化有关的数值线性代数知识 3LU Cholesky和LDL因式分解
  3. 借助Haproxy_exporter实现对MarathonLb的流量和负载实例业务的可用状态监控-续
  4. 卷积神经网络的卷积操作
  5. 【机器学习】主成分分析 (PCA)、无监督特征提取
  6. poj2965--枚举专题 (算法巧妙)
  7. 超级易懂的非递归实现二叉树三种遍历(与网上都不一样)
  8. 7 ida pro 网盘_7月上市新车汇总 日产轩逸领衔 自主高端红旗HS7最具潜力
  9. css 绝对定位底部居中,css – 在另一个元素的中心下方水平居中绝对定位元素
  10. 使用CefSharp在.NET中嵌入Google kernel