Yii 2.0中场景的使用教程

 更新时间:2017年06月02日 11:13:11   作者:Steven*  
这篇文章主要给大家介绍了关于Yii 2.0中场景使用的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。

前言

熟悉Yii框架的人都知道,灵活的使用场景可以达到事半功倍的效果!

比如普通的数据的新增、修改,新增需要验证其中两个字段,而修改只需要验证其中一个字段;还有种情况,也是我们现在用到的,同一张表(同一个model)有可能在不同的项目分支中使用,但是不用的项目分支对成员变量的验证是不一样的,这时使用场景就可以轻松搞定;

场景使用

1、Yii2中简单的场景使用在这里有说明: https://www.jb51.net/article/115231.htm

2、但是对于初学者可能还是不能灵活的应用:

 public function rules()
 {
 return [
  [['name', 'account', 'pwd'], 'string', 'max' => 11],
  ['account','required','message'=>'用户名不能为空'],
  ['pwd','required','message'=>'密码不能为空','on'=>'add_customer']
 ];
 }

对于rules中指定部分成员变量的验证规则以及所属场景,还是推荐上面这种写法,当然也可以直接在类里面定义一个方法名为scenarios的方法;

如何使用:

1、如果需要new一个新的对象就使用某个场景,直接采用:

 $bus_department = new BusDepartment(['scenario' => 'add_customer']);

2、更新数据的时候经常会用到这种:

 $bus_department = BusDepartment::findOne($id);

使用场景的方法是:

 $bus_department->setScenario('add_customer'); 或者 $bus_department->scenario = 'add_customer';

这样,在操作当前对象的时候就会按照所设定的场景进行规则验证。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)

    php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)

    下面小编就为大家带来一篇php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • php的sso单点登录实现方法

    php的sso单点登录实现方法

    这篇文章主要介绍了php的sso单点登录实现方法,实例分析了sso单点登录的原理与具体实施步骤,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • PHP laravel实现基本路由配置详解

    PHP laravel实现基本路由配置详解

    这篇文章主要为大家详细介绍了PHP laravel如何实现基本的路由配置,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
    2022-10-10
  • PHP正则匹配日期和时间(时间戳转换)的实例代码

    PHP正则匹配日期和时间(时间戳转换)的实例代码

    本文介绍下,用php实现正则匹配日期与时间,并进行时间戳转换的例子,有需要的朋友,参考下吧
    2016-12-12
  • JSON在PHP中的应用介绍

    JSON在PHP中的应用介绍

    目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。故整理一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识
    2012-09-09
  • PHP中使用循环实现的金字塔图形

    PHP中使用循环实现的金字塔图形

    这篇文章主要介绍了PHP中使用循环实现的金字塔图形,本文是一篇PHP的课堂笔记,完成老师的作业总结而来,需要的朋友可以参考下
    2014-11-11
  • php 生成短网址原理及代码

    php 生成短网址原理及代码

    将原网址做crc32校验,得到校验码,使用sprintf将校验码转为无符号数字,详细步骤请看本文
    2014-01-01
  • 深入理解PHP原理之错误抑制与内嵌HTML分析

    深入理解PHP原理之错误抑制与内嵌HTML分析

    PHP支持内嵌HTML的, 那么对于PHP文件中, PHP标签外的HTML会怎么处理呢? 它和直接输出HTML有什么区别么?
    2011-05-05
  • php删除二维数组中的重复值方法

    php删除二维数组中的重复值方法

    下面小编就为大家分享一篇php删除二维数组中的重复值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • PHP配置ZendOpcache插件加速

    PHP配置ZendOpcache插件加速

    今天小编就为大家分享一篇关于PHP配置ZendOpcache插件加速,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02

最新评论