首頁  >  文章  >  後端開發  >  詳解Yii2中場景的使用

詳解Yii2中場景的使用

*文
*文原創
2018-01-03 13:36:061468瀏覽

本文主要為大家介紹了關於Yii 2.0中場景使用的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。希望對大家有幫助。

前言

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

例如普通的資料的新增、修改,新增需要驗證其中兩個字段,而修改只需要驗證其中一個字段;還有種情況,也是我們現在用到的,同一張表(同一個model)有可能在不同的專案分支中使用,但是不用的專案分支對成員變數的驗證是不一樣的,這時使用場景就可以輕鬆搞定;

場景使用

 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';

這樣,在操作目前物件的時候就會按照所設定的場景進行規則驗證。

相關推薦:

詳情yii2之restful api授權驗證

##詳解Yii2如何實作自訂獨立驗證器

Yii2中join、joinwith多重資料表關聯查詢的使用方法Yii2中join、joinwith多重資料表關聯查詢的使用方法

#######

以上是詳解Yii2中場景的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn