ServiceLocator 和 Component 发表于 2018-12-18 | 分类于 yii2源码分析 上文,我们了解到yii2的配置,实际是对 yii\web\Application 对象的配置。 但是,在进行 yii\baseYii::configure 方法的讲解时,我们疑问:如果我们在配置文件 main.php 内添加了一个 yii\web\Application 不存在的属性 key,会不会 ... 阅读全文 »
应用的生命周期之预初始化 发表于 2018-12-18 | 分类于 yii2源码分析 上文我们笼统的介绍了yii\web\Application类及其一系列父类之间的关系,希望各位把握好整体结构。 今天我们从上文尚未细说的 yii\web\Application::run 方法说起。 yii\web\Application类的run方法,实际指的是父类 yii\base\Applic ... 阅读全文 »
应用的生命周期之复杂的父类关系 发表于 2018-12-18 | 分类于 yii2源码分析 从入口脚本一文我们引申了依赖注入容器相关的一系列实现,如果把入口脚本比作一个中心点,我们前面介绍的依赖注入容器就相当于一个分支。 今天我们再回到这个中心点(入口脚本)上,从下面的代码处接着分析。123456$config = yii\helpers\ArrayHelper::merge( re ... 阅读全文 »
yii2依赖注入容器(二) 发表于 2018-12-18 | 分类于 yii2源码分析 上文我们介绍了 Container 的核心实现,但是我们倒过来看1Container::resolveDependencies -> Instance::of -> Container::getDependencies -> Container::build -> Conta ... 阅读全文 »
yii2依赖注入容器(一) 发表于 2018-12-18 | 分类于 yii2源码分析 在php中,依赖注入以及依赖注入容器,先前我们均有所了解。关于其原理,我们也做过说明,且配有大量的例子加以辅导,如果你还有问题,留言告诉我。 今天我们来看一下yii2内部是如何实现依赖注入容器的。 为什么突然又回到这个问题上了? 接上文对Yii.php的分析,我们应该看Yii.php文件内的最后一行 ... 阅读全文 »
yii2入口脚本之二三 发表于 2018-12-18 | 分类于 yii2源码分析 前面花了点时间给大家补充了一点php的基础,希望对各位有所帮助。后面我们还会再介绍yii2内部是如何实现这些的。 安装yii2 今天的内容比较轻松,我们开始着手yii2源码部分的讲解。 为了讲解的更全面化,我们还是准备从安装开始。 安装的详细步骤可参考这篇文章,这里我们直接用composer创建并快 ... 阅读全文 »
php之控制反转容器(Ioc Container) 发表于 2018-12-18 | 分类于 yii2源码分析 上一节文末,我们抛出了一个问题:如何解决注入引起的更复杂的问题? 有些人可能还没明白这个问题是怎么回事。 我们来详细的描述一下: 首先我们假设A依赖B和C,B依赖D,C依赖E,D依赖F,现在我们来看看怎么实例化A?1$a = new A(new B(new D(new F)), new C(new ... 阅读全文 »
php之依赖注入、控制反转和依赖倒置原则 发表于 2018-12-18 | 分类于 yii2源码分析 今天我们继续补充php的相关内容。 开篇我们先做个声明:此篇文章没有难度,也是我们为后面所补充的基础,不要被标题给吓到了。 以下是正文内容: 思考一个问题:假如公司让你评价各开发成员的代码质量,好坏如何区分? 跟你玩的好的最好还是跟你有过过节的最差呢?这都不好说。 要评判好坏,我们是不是需要有一种标 ... 阅读全文 »
php之魔术方法 __set 和 __get 发表于 2018-12-18 | 分类于 yii2源码分析 考虑到部分同学水平的问题,在分析yii2源码之前,我们准备先介绍一些php的基础知识。包括我们今天要讲的魔术方法set、get以及后面要介绍的依赖注入、控制反转等。 给大家补充的基础知识点,必须相当重要。如果这都不理解,yii2的源码分析就没有看的必要了。 首先,我们今天来看一下php的魔术方法 s ... 阅读全文 »
yii2源码分析-概述 发表于 2018-12-18 | 分类于 yii2源码分析 为什么要学这套yii2的源码分析? yii2是个不错的框架,很多人用的那也是轻车熟路,对于一个网站的开发玩的自然也很溜。 但是,这远远不够。 基础薄弱的同学想花点时间多学几套php框架,然并卵。框架会的很多,路子都是一套,对自身能力的提高,微乎其微。我们也不推荐学几套框架,除非公司需要,项目需要。从 ... 阅读全文 »