Skip to content

Commit 05aa600

Browse files
author
Songyu By Home
committed
更新文章
1 parent 7d38fa6 commit 05aa600

16 files changed

+137
-22
lines changed

_posts/2019-04-13-yii2demo分析之Model类一(公共目录下的Model).md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: post
33
title: "yii2demo分析之Model类一(公共目录下的Model)"
44
date: 2019-04-13 16:44:12 +0800
5-
tags:
5+
tags: yii2
66
description:
77
---
88

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
layout: post
3+
title: "yii2demo分析之Model类二(模块中的Model)"
4+
date: 2019-04-15 20:40:38 +0800
5+
tags: yii2
6+
description:
7+
---
8+
9+
上一篇文章介绍,公共目录中的Model类主要是直接对数据库进行操作,或者对数据格式进行加工等,其实可以看作数据访问层。
10+
11+
而在模块中的Model负责的则是另一种用途,目录结构如下:
12+
![](/images/2019-04-15-1.jpg)
13+
14+
可以看到这里的model目录跟公共目录中的完全不一样,公共目录中的models基本是直接以数据库的名字来命名的,而这里的models从命名来看,更像是某些逻辑的处理,比如Singup、ResetPassword等,而且都是以Form来结尾,这就非常神奇了!
15+
16+
先任意点开一个来看看里面的内容,(原谅我的短小屏幕,一份分成三份截。。。):
17+
![](/images/2019-04-15-2.jpg)
18+
![](/images/2019-04-15-3.jpg)
19+
![](/images/2019-04-15-4.jpg)
20+
21+
第一张图中的内容非常简单,就是命名空间加引用,还有类中的属性,但是注意其中引用的 _common\models\User_ 是数据层中的model
22+
23+
第二张图中的内容就非常多了,但是仔细看发现都在rules这个函数中,就可以很容易的判断出,是一个字段验证函数,主要用于验证类中的各个属性,具体的验证规则在[文档](https://www.yiichina.com/doc/guide/2.0/input-validation)中介绍的非常清晰明了
24+
25+
第三张图中的内容,从注释中看是用户注册功能,函数内容也是创建数据层中的类,并进行赋值
26+
27+
那么除了这三张图,再结合所对应的前端中的表单,不能看出,该Model类,主要用于验证表单,并保存数据,更加偏重于逻辑
28+
![](/images/2019-04-15-5.jpg)
29+
30+
再看 _ResetPasswordForm.php__PasswordResetRequestForm.php_ 两个文件中,引用的数据层类依然是 _common\models\User_ ,这证明这三个文件虽然操纵的都是用一个表中的数据变化,但是变化的逻辑是不相同的,而且对应的表单也是不相同的
31+
32+
![](/images/2019-04-15-6.jpg)
33+
34+
![](/images/2019-04-15-7.jpg)
35+
36+
由此可见,在Demo中模块中的models目录中的文件,是用于处理表单验证和相关逻辑的,而且一个文件代表一种逻辑场景,这样恰好符合了单一原则,而且在yii中,也是建议开发者将一些业务逻辑、业务数据展示、验证规则等放在模型中,在控制器中只是简单的进行中转操作,尽量不涉及过多的业务代码。
37+
其实,这也是yii中结构层次的一个典型体现。

images/2019-04-15-1.jpg

20.6 KB
Loading

images/2019-04-15-2.jpg

43 KB
Loading

images/2019-04-15-3.jpg

95 KB
Loading

images/2019-04-15-4.jpg

68.2 KB
Loading

images/2019-04-15-5.jpg

97.2 KB
Loading

images/2019-04-15-6.jpg

62.4 KB
Loading

images/2019-04-15-7.jpg

67.6 KB
Loading

tag/github/index.html

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ <h2 class="post_title">标签分类 "github&rdquo;</h2>
5454
<!-- <ul> -->
5555

5656

57+
58+
59+
60+
61+
62+
5763

5864

5965

@@ -226,6 +232,8 @@ <h2 class="post-title">
226232
<h2>近期文章</h2>
227233
<ul>
228234

235+
<li><a href="/2019/04/yii2demo%E5%88%86%E6%9E%90%E4%B9%8Bmodel%E7%B1%BB%E4%BA%8C-%E6%A8%A1%E5%9D%97%E4%B8%AD%E7%9A%84model">yii2demo分析之Model类二(模块中的Model)</a></li>
236+
229237
<li><a href="/2019/04/yii2demo%E5%88%86%E6%9E%90%E4%B9%8BModel%E7%B1%BB%E4%B8%80-%E5%85%AC%E5%85%B1%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84Model">yii2demo分析之Model类一(公共目录下的Model)</a></li>
230238

231239
<li><a href="/2019/01/yii2demo%E5%88%86%E6%9E%90%E4%B9%8B%E9%AA%8C%E8%AF%81%E7%A0%81">yii2demo分析之验证码</a></li>
@@ -234,8 +242,6 @@ <h2>近期文章</h2>
234242

235243
<li><a href="/2018/06/%E6%89%93%E5%8C%85%E7%89%88%E6%9C%AC%E9%97%B4%E7%9A%84%E5%8F%98%E5%8A%A8%E6%96%87%E4%BB%B6">打包版本间的变动文件</a></li>
236244

237-
<li><a href="/2018/06/%E6%9C%80%E8%BF%91%E6%9C%89%E4%BA%9B%E8%BF%B7%E8%8C%AB">最近有些迷茫</a></li>
238-
239245
</ul>
240246
</div>
241247

@@ -261,7 +267,7 @@ <h2>文章分类</h2>
261267
<span>web</span></a></li>
262268

263269
<li>
264-
<a href="/tag/yii2" data-toggle="tooltip" data-placement="right" title="2">
270+
<a href="/tag/yii2" data-toggle="tooltip" data-placement="right" title="4">
265271
<span>yii2</span></a></li>
266272

267273
<li>

0 commit comments

Comments
 (0)