09 2017 档案
摘要:一、为什么需要依赖注入 首先我们先不管什么是依赖注入,先来分析一下没有使用依赖注入会有什么样的结果。假设我们有一个gmail邮件服务类GMail,然后有另一个类User,User类需要使用发邮件的功能,于是我们在User类中定义一个成员变量$mailServer,并且在声明这个变量的时候就给它赋值一
阅读全文
摘要:在yii中,程序中需要使用到的类无需事先加载其类文件,在使用的时候才自动定位类文件位置并加载之,这么高效的运行方式得益于yii的类自动加载机制。 Yii的类自动加载实际上使用的是PHP的类自动加载,所以先来看看PHP的类自动加载。在PHP中,当程序中使用的类未加载时,在报错之前会先调用魔术方法__a
阅读全文
摘要:Yii三大特性:属性、事件、行为。前面两篇文章已经分别讲解了属性和事件,本文接着讲讲yii的行为,分析yii行为的实现原理。 在yii中,一个对象绑定了行为之后,就拥有了所绑定行为拥有的所有事件,而且可以访问所绑定行为的成员变量,调用其行为方法。那么,yii是怎么做到的呢? Yii中行为的实现需要y
阅读全文
摘要:众所周知,yii的三大特性是:属性、事件、行为,上一篇博文简单讲解了yii中的属性,本文接着讲讲yii的事件。 事件是代码解耦的一种方式,设计业务流程的一种模式。在yii2.0中,通过Yii\base\Component继承yii\base\Object,重载__get()、__set()方法,引入
阅读全文
摘要:一直以来,在我的理解中,类的成员变量和属性就是同一个东西,直到看了《深入理解Yii2.0》才明白,类的成员变量和属性其实不是同一个概念,成员变量是就类的结构构成而言的概念,而属性是就类的功能逻辑而言的概念,而且两者没有必然的对应关系。 类的成员变量有public、protected、private三
阅读全文