阅读laravel源代码有感
来源:互联网 发布:cad可以画网络拓扑图吗 编辑:程序博客网 时间:2024/05/16 17:07
由于公司一直使用的是yaf框架,至少有很多项目是基于yaf框架的。相信所有用过yaf的朋友们也能够清晰的感受到yaf的功能是在是太简洁了,基本上就提供了一个mvc模式、一个自动加载机制、一个路由机制,剩下的基本什么都没有。
当然啦,作为一个C语言框架,就不要求它什么了,而且毕竟是一个人维护的,人的时间也是有限的,而且鸟哥也一直在维护自己的yaf框架,再次表示衷心的感谢。于是,本着统一的要求,于是就决定仔细看看各大主流框架的具体实现方式,然后从里面抽出一些东西来让自己使用。
首先想到的框架就是laravel,不仅仅是因为它是一个比较优雅的框架,也不仅仅是因为它有着超高的市场占有率,而且就从其功能和性能上,都有着比较卓越的表现,但是一直没有怎么细心研究过其源码,不得不说是一个损失。
研究一个框架,很重要的就是研究它的各种机制的实现流程,对于其提供的助手函数,倒在其次,毕竟我们本身写这些类库的效率也并不低。
好啦,不说废话啦。今天只是大致的看了半小时左右的DB层的实现,而且自己也对其进行了适当修改,比如它的Database下面的Query里面还有两个文件夹,我们就直接把它放到一个文件夹中,而且我们还根据其自动加载方式进行了重命名,比如Connection会被重命名为DBX_Query_Connect,可能熟悉yaf和laravel的朋友们会知道我在library下面建立了一个DBX目录,然后其中有个Query子目录,然后里面放着Connect.php文件。
不过感受最深的一点就是它的跳转真心厉害,就是一个简单的$conn->table("t_admin")->get();就有不下二十处的跳转,核心就是三个地方,一个是Builder,一个是Processor,一个是Grammar,当然,我们发现还有一个Arr,它是在源代码的Support目录下的Arr.php文件,它被调用了一个方法。一般来说,执行一次查询,五到十次的跳转,这个复杂度我们都是喜闻乐见的,而且通常我们一般也会这么搞。但是十次到二十多次的跳转,未免就会让人思路不清晰了,也就决定了想要比较熟练的驾驭它,还是需要花费很大的功夫的。
对了,这里说一下我看的代码版本是5.1.4,之后我会出一系列阅读源代码的资料的,一是因为工作上的需要,二是本身比较感兴趣,喜欢的朋友可以持续关注下奥。
- 阅读laravel源代码有感
- 阅读《编辑力》有感
- 英文文献阅读有感
- jQuery源码阅读有感
- 剑指offer阅读有感
- OpenGL Insights 阅读有感
- 阅读任玉刚博客有感
- cjson源码阅读有感
- 源码阅读有感
- 阅读源代码
- 源代码阅读
- 阅读源代码
- 读Joone源代码有感
- 读Joone源代码有感
- 读Joone源代码有感
- 阅读博客园书有感
- 阅读windows核心编程有感
- 阅读《STL源码分析》有感
- 【DirectX 2D游戏编程基础】directx 精灵绘图的应用,锚点与变换
- DFS解八皇后问题
- UVALive - 3268 Jamie's Contact Groups(二分+最大流)
- AJAX一些常用操作
- Round A APAC Test 2016 Problem D. gSnake 贪吃蛇 stl应用
- 阅读laravel源代码有感
- 《数据结构与算法分析》图论算法--邻接表与拓扑排序
- FAAC转换PCM为AAC
- Cocos2d-x/Cocos2d-js编译64位so库中遇到的问题
- cocos2d-x实现3D模型的换装系统的研究
- 集合框架相关知识点(二)
- jquery的$.extend和$.fn.extend作用及区别
- 【分享】ボクの手の中の楽園镜像版
- rtmp 推送h264 + aac 的数据