如何详细解释Yii2框架中的场景和验证规则在应用中的具体用法和作用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2386个文字,预计阅读时间需要10分钟。
前言+场景,尊重思想意义,就是一个情景,一种场面。在yii2中也有场景,这个场景跟您所理解的场景含义相差不大。+和用户有交互的系统必不可少的功能包包括收集用户数据、验证和处理。实现
前言
场景,顾名思义,就是一个情景,一种场面。在yii2中也有场景,这个场景跟你所理解的场景含义差不多。
和用户有交互的系统必不可少的功能包括收集用户数据、校验和处理。实际业务中,往往还需要将数据进行持久化存储。出于安全考虑,开发人员应当牢牢把握“客户端的输入都是不可信”的准则,客户端传过来的数据先进行过滤和清洗后再存储或传递到内部系统。
Yii2推荐使用Model类来收集和校验用户数据,持久化的ActiveRecord类是其子类。Model类的load和validate两个方法,分别用来收集和校验客户端数据。哪些数据应该被收集,哪些数据需要在什么场景下验证,便是本文的主题:场景(scenario)和验证规则(rule)。
下面话不多说了,来随着小编一起看看详细的介绍吧。
系统结构
先引入一个简单的业务系统:系统中存在学生和教师两种角色,数据库中使用了三张表保存角色信息:
user: [id, username, password, status, 其他通用属性]
student: [id, user_id, student_no, grade, class, 其他学生属性]
teacher: [id, user_id, work_no, title, telphone, 其他教师属性]
实际业务不限于对这三张表的增删查改操作。
本文共计2386个文字,预计阅读时间需要10分钟。
前言+场景,尊重思想意义,就是一个情景,一种场面。在yii2中也有场景,这个场景跟您所理解的场景含义相差不大。+和用户有交互的系统必不可少的功能包包括收集用户数据、验证和处理。实现
前言
场景,顾名思义,就是一个情景,一种场面。在yii2中也有场景,这个场景跟你所理解的场景含义差不多。
和用户有交互的系统必不可少的功能包括收集用户数据、校验和处理。实际业务中,往往还需要将数据进行持久化存储。出于安全考虑,开发人员应当牢牢把握“客户端的输入都是不可信”的准则,客户端传过来的数据先进行过滤和清洗后再存储或传递到内部系统。
Yii2推荐使用Model类来收集和校验用户数据,持久化的ActiveRecord类是其子类。Model类的load和validate两个方法,分别用来收集和校验客户端数据。哪些数据应该被收集,哪些数据需要在什么场景下验证,便是本文的主题:场景(scenario)和验证规则(rule)。
下面话不多说了,来随着小编一起看看详细的介绍吧。
系统结构
先引入一个简单的业务系统:系统中存在学生和教师两种角色,数据库中使用了三张表保存角色信息:
user: [id, username, password, status, 其他通用属性]
student: [id, user_id, student_no, grade, class, 其他学生属性]
teacher: [id, user_id, work_no, title, telphone, 其他教师属性]
实际业务不限于对这三张表的增删查改操作。

