### 读码须知
* * * * *
**如果你打算阅读源码或者了解原理什么的,需要知道或主要步骤**
+ 技巧中代码在框架中运用较多,或者比较难易理解
+ 核心(core)类负责实现,基类(base)定义了一些常用基础方法,扩展(vendor)定义了可能有用的功能类,traits放置了一些类常用的基础方法trait,例如万能call,instance等
+ Route实现(载入route.php),并运行里面函数(实际上只是让你自己完成route实现(连规则什么的一起));
+ cookie,session,cache等类key,value,set,get,exists,delete,prefix等链式操作,在实现层上添加了一层操作层,以命令式统一外部接口
> 表示没有函数重载什么的,不然也可以直接实现层,虽然也可以追加,但感觉没必要
>
> //@example
> //操作层
> $cookie->init()->key('nihao')->value('test')->set();
> //实现层,未实现
> $cookie->set('nihao', 'test');
>
+ trait,框架升级至2.0版本后,大量引用trait使用,将类分割为小模块,用trait拼接.
###入口文件相关
+ environment.php为主,控制框架环境
+ environment.php涉及智能及自动加载处理
+ app.php类负责应用逻辑,cli.php负责命令行逻辑,test.php负责测试逻辑,
### 框架
+ 万能get,call,staticCall,利用闭包等通过文件实现,自定义扩展于library/msqphp/framwork下对应位置
+ 框架依赖 core依赖base并互相依赖,base互相依赖(极少部分),vendor一般依赖与base并独立存在;
+ Config依赖Environment
+ 多数类依赖Config和Environment
+ 文件驱动类依赖File基类
+ Model依赖Database,View依赖Template



