疯狂的Laravel开发框架 - 我看过的PHP开源框架
Laravel
之所以说它疯狂,是因为里面的耦合度异常地高,虽然有目录分类,但是没有很好做到软件层的划分。
UML静态结构
由于画出来的UML图片超过200K,这里只能再压缩上传了。
高清原图请点击:
http://webtools.qiniudn.com/Laravel-s.jpg
静态代码分析
1、使用了命名空间
2、自动加载策略:别名->映射->空间目录->PSR加载(下划线分割)
3、__callStatic 静态级别的魔法方法
4、static::get($key)这样方式的调用
5、配置使用了文件媒介,而且使用了点连接的路径表示法
6、大量的全是静态方法的工具类(Utility),除非逼不得已(需要多态)时才会用实例对象
7、代码风格良好,有使用代码示例
8、存在循环依赖,且不符合:类应该向稳定方向依赖的原则
9、定义了一些简短的函数
10、没有很好的封装性,很多类成员属性都是public
11、 值得参考学习的PHP用法:
return new static($view, $data);
static::get($key)
compact()函数
12、回调函数的大量使用
13、随机字符串生成:substr(str_shuffle(str_repeat('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 5)), 0, $len);
分析和总结
这个框架,因为没有使用它做过实际项目开发,所以这里不作太多的总结。但是通过对它源码的分析,确实也有很多优秀的写法值得参考,但是在工程的角度上看,存在循环依赖和一些不稳定的依赖是可以通过中间层来重构优化的。
转载于:https://my.oschina.net/dogstar/blog/360334