yii2.0框架场景的简单使用示例
本文实例讲述了yii2.0框架场景的简单使用。分享给大家供大家参考,具体如下:
一、规则中使用场景
规则场景的使用
模型层
public function rules() { return [ [['name','product_id'],'required','on'=>'add], ]; }
表示只在add场景下改规则才生效。
在控制器中指定场景:
$model->scenario = "add";
或者
$model = new User(['scenario' => 'add']);
最后使用函数触发验证:
$model->load(Yii::$app->request->post()) //加载值 $model->validate() //证规则
当验证不通过时可以直接刷新页面
return $this->refresh();
二、场景方法定义字段在固定场景下才能被修改
模型层
public function scenarios() { return [ 'default' => ['table_name', 'field_name'],//默认所有场景都可以操作 'add' => ['age', 'name'], 'update' => ['age'], ]; }
表示:
添加场景(add) 只会添加 age和name两个字段的值到数据库
修改场景(uodate)只会把age的值修改
所以一般情况下是不会重写scenarios方法,当动态增加字段时还得手动修改方法里的字段
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
相关推荐
-
Yii2中简单的场景使用介绍
本文主要介绍的是关于Yii2简单场景使用的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 直接上代码(主要部分): 模型层: public function rules() { return [ [['name', 'account', 'pwd'], 'string', 'max' => 11], ['account','required','message'=>'用户名不能为空'], ['pwd','required','message'=>'密码不能为空','on'=
-
关于Yii中模型场景的一些简单介绍
前言 在Yii中模型字段验证有一个场景的概念,可以在不同的场景下设置不同的验证规则,在Yii中的场景默认为default,简单实现如下 下面我以用户表,表中字段为user_name,password 简单规则如下 public function rules() { return [ [['user_name', 'password'], 'required'], [['user_name', 'password'], 'string', 'max' => 255], ]; } 一: 如果我们需要
-
yii2.0框架使用 beforeAction 防非法登陆的方法分析
本文实例讲述了yii2.0框架使用 beforeAction 防非法登陆的方法.分享给大家供大家参考,具体如下: beforeAction基本原理: 对比 1.执行顺序 init > beforeAction 2.调用子函数时,两个函数都不会再次执行 3.返回值 init返回false继续执行,beforeAction停止执行 4.执行EXIT,全部停止 从框架的示例代码来看,init用于初始化数据,beforeAction用户事件的处理 代码 // 登录统一验证 public function
-
Yii2.0 RESTful API 基础配置教程详解
最近在做Yii2.0 RESTful API功能,找了好久的资料,才找到这类的教程,感谢该作者,以下内容根据我的项目实际情况做了一定的修改. 安装yii2.0 安装 Composer 后,您可以通过在 Web 可访问的文件夹下运行以下命令来 安装Yii应用程序模板: composer create-project --prefer-dist yiisoft/yii2-app-basic basic 初始化高级模板 cd advanced ./init 输入"./init"后会出现以下内
-
Yii2.0框架实现带分页的多条件搜索功能示例
本文实例讲述了Yii2.0框架实现带分页的多条件搜索功能.分享给大家供大家参考,具体如下: 方法一 在控制器中 public function actionShow(){ $where['title']=Yii::$app->request->get('title'); $where['content']=Yii::$app->request->get('content'); $query=new Query(); $query->from('votes'); // vote
-
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
这只是自己练习的一个记录而已. 因为某种原因,不想用yii自带的user表,想用自己建的admin数据库表,修改如下: 1. 参考高级模板里里的common\models\User 修改 Admin 2. 修改配置文件里面的 'user' => [ //'identityClass' => 'common\models\User', 'identityClass' => 'common\models\Admin', 'enableAutoLogin' => true, 3. 修改L
-
Yii 2.0中场景的使用教程
前言 熟悉Yii框架的人都知道,灵活的使用场景可以达到事半功倍的效果! 比如普通的数据的新增.修改,新增需要验证其中两个字段,而修改只需要验证其中一个字段:还有种情况,也是我们现在用到的,同一张表(同一个model)有可能在不同的项目分支中使用,但是不用的项目分支对成员变量的验证是不一样的,这时使用场景就可以轻松搞定: 场景使用 1.Yii2中简单的场景使用在这里有说明: http://www.jb51.net/article/115231.htm 2.但是对于初学者可能还是不能灵活的应用: p
-
Yii2中的场景(scenario)和验证规则(rule)详解
前言 场景,顾名思义,就是一个情景,一种场面.在yii2中也有场景,这个场景跟你所理解的场景含义差不多. 和用户有交互的系统必不可少的功能包括收集用户数据.校验和处理.实际业务中,往往还需要将数据进行持久化存储.出于安全考虑,开发人员应当牢牢把握"客户端的输入都是不可信"的准则,客户端传过来的数据先进行过滤和清洗后再存储或传递到内部系统. Yii2推荐使用Model类来收集和校验用户数据,持久化的ActiveRecord类是其子类.Model类的load和validate两个方法,分别
-
YII2.0框架行为(Behavior)深入详解
本文实例讲述了YII2.0框架行为(Behavior).分享给大家供大家参考,具体如下: 行为(Behavior) 使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充. 通过将行为绑定到一个类,可以使类具有行为本身所定义的属性和方法,就好像类本来就有这些属性和方法一样. 而且不需要写一个新的类去继承或包含现有类. Yii中的行为,其实是 yii\base\Behavior 类的实例, 只要将一个Behavior实例绑定到任意的 yii\base\Component 实例上
-
Yii2.0框架behaviors方法使用实例分析
本文实例讲述了Yii2.0框架behaviors方法使用.分享给大家供大家参考,具体如下: 初学Yii2.0 学习路径:http://www.yii-china.com/ 经过各种学习,积累知识点: (1)控制器 behaviors 过滤数据需要引入如下文件 use yii\filters\AccessControl; use yii\filters\VerbFilter; 首先:什么是过滤器?过滤器就是对不同用户角色的控制: 如(游客->最普通的平民,用户->已经注册的用户,管理员->
随机推荐
- Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)
- CMD CODE PAGE的概念及其设置值使用方法
- Prototype使用指南之selector.js
- jQuery图片滚动图片的效果(另类实现)
- 得到连接和图片的地址 正则
- iOS开发系列--通知与消息机制详解
- python实现文件路径和url相互转换的方法
- Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
- JavaScript箭头函数_动力节点Java学院整理
- 详解ASP.NET Core 之 Identity 入门(三)
- Yii2增加验证码步骤详解
- php利用header函数实现文件下载时直接提示保存
- php+mysqli预处理技术实现添加、修改及删除多条数据的方法
- wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- 如何使用表单发送电子邮件?
- js分页显示div的内容
- jQuery插件 Jqplot图表实例
- IE不支持option的display样式,只能使用remove和add
- 解析Android中string-array数据源的简单使用