深入解剖Yii2框架
文章平均质量分 75
米粒人生
PHP从业者和爱好者,对代码的组织方面——框架、设计模式、设计原则和重构等兴趣浓厚,一致致力于这方面的探索,目的是通过优良的代码组织来提高项目的生产效率,减少项目的维护成本。
展开
-
Yii2设计模式——Yii2中用到哪些设计模式?
”Yii2设计模式“包含了两个方面的内容:1.设计模式,2.Yii2框架。《设计模式》一书虽然以JAVA语言来表达设计模式的思想,但是设计模式远不限制于某一种特定的语言,而是在面向对象编程中通用的思想,各个语言也都有各自的实现方式。Yii2是一款优秀的PHP Web框架,Yii2框架的里里外外都借鉴了很多设计模式的思想。而且,越是Yii2内核的部分,设计模式运用的越多。同样的,其他优秀的框架如...原创 2018-12-12 10:53:07 · 969 阅读 · 0 评论 -
Yii2设计模式——单例模式
应用举例在Yii.php中:require __DIR__ . '/BaseYii.php';// Yii框架的帮助类,提供框架基本的功能class Yii extends \yii\BaseYii{}spl_autoload_register(['Yii', 'autoload'], true, true);Yii::$classMap = require __DIR__ ....原创 2018-12-17 09:41:33 · 637 阅读 · 0 评论 -
Yii2设计模式——设计模式简介
Yii2设计模式——设计模式简介我们首先来思考一个问题:我们作为工程师,最重要的任务是什么?笔者认为是——解决用户问题。我们的任何知识和技能,如果不能解决特定的问题,那么就是无用的屠龙之术;我们的任何经验,如果不能对解决新的问题有用,那这经验就是过时的。工程师不是空谈者,也不是理论家,再好的理论,再好的设计,不能落地变成产品,不能解客户燃眉之急,那终究也是水中月镜中花,迟早要被淘汰。能解决现...原创 2018-12-10 10:01:52 · 837 阅读 · 0 评论 -
Yii2设计模式——注册树模式
应用举例在Yii.php中:<?phpclass ServiceLocator extends Component{ //保存实例化的对象,每个对象都是单例,且有唯一string类型的ID做区分 private $_components = []; //保存设置的对象或者其定义,用于实例化 private $_definitions = [];...原创 2018-12-20 16:17:18 · 360 阅读 · 0 评论 -
Yii2基本概念之——生命周期(LifeCycle)
人有生老病死,一年有春夏秋冬四季演替,封建王朝有兴盛、停滞、衰亡的周期律——“其兴也勃焉,其亡也忽焉”。换句话说,人,季节,王朝等等这些世间万物都有自己的生命周期。同样地,在软件行业,一个系统,一个组件,一个功能,一个类都是有自己的生命周期的。那么,为什么要从生命周期的这个角度去理解程序? 在现实世界中如果你使用一个工具,当你理解工具的工作原理的时候你使用起来无疑更加有信心、更加得心应手;应用的开原创 2018-05-09 22:46:46 · 1096 阅读 · 0 评论 -
Yii2基本概念之——配置(Configurations)
在Yii中创建新对象或者初始化已经存在的对象广泛的使用配置,配置通常包含被创建对象的类名和一组将要赋值给对象的属性的初始值,这里的属性是Yii2的属性。还可以在对象的事件上绑定事件处理器,或者将行为附加到对象上。从而在定义了对象的初始值的同时,充分规定对象的运行时的动态特性。以下代码中的配置被用来创建并初始化一个数据库连接:$config = [ 'class' => '...原创 2018-03-13 22:47:48 · 1196 阅读 · 0 评论 -
Yii2基本概念之——行为(Behavior)
使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充。通过将行为绑定到一个类,可以使得类具有行为本身所具有的属性和方法,就好像是类本来就具有的这些属性和功能一样。好的代码设计,必须要同时满足可复用性、可维护性和可扩展性。设计原则中有一条非常重要的一条:类应该对扩展开放,对修改关闭。改变原有代码往往会带来潜在风险,因此我们尽量减少修改的行为。我们的目标是允许类容易扩展,在不...原创 2018-03-02 23:15:49 · 4879 阅读 · 0 评论 -
Yii2基本概念之——属性(Property)
学习任何一门学问,往往都是从起基本的概念学起。万丈高楼平地起,这些基本概念就是高楼的基石,必须做详尽的分析。我们知道,Yii2是一款脉络清晰的框架,理顺了基础的概念和基本功能,学习更高级和复杂的功能就容易多了。Yii2是一款纯面向对象的框架,它对类的功能做了扩充:PHP类的功能分为属性和方法,而Yii2定义了类的三个功能:属性(property),行为(behavior)和事件(event)。原创 2018-01-16 00:06:36 · 1196 阅读 · 2 评论 -
Yii2基本概念之——事件(Event)
事件无非就是这个过程之中一些有意义的“点”。这些点是人为做的设定,比如插入数据库数据,那么校验前、后,插入前、后就可能是几个有意义的时间节点,把这些节点看成一个个的事件,就更加便于我们去理解这整个过程。原创 2018-02-04 21:24:02 · 2539 阅读 · 0 评论 -
《深入解剖Yii2框架》前言
通过针对Yii2框架的分享,我希望能为大家达到以下两个目标:第一,从内涵上说——通过对Yii2的解剖,深入理解这个框架的编程思想,掌握各个重要组成部分的构成和用法第二,从外延上说——通过对这款典型框架的解剖,能举一反三的了解其他PHP框架甚至整个服务端所涉及的重要知识点和涉及内容原创 2018-01-11 10:05:48 · 1736 阅读 · 2 评论 -
Yii2设计模式——简单工厂模式
除了使用 new 操作符之外,还有更多的制造对象的方法。你将了解到实例化这个活动不应该总是公开进行,也会认识到初始化经常造成“耦合”问题。应用举例yii\db\mysql\Schema中://创建 QueryBuilder 实例public function createQueryBuilder(){ return new QueryBuilder($this->db);}...原创 2018-12-24 09:55:58 · 368 阅读 · 0 评论