YII2之 Scenario】的更多相关文章

使用方法 // scenario is set as a property $model = new User; $model->scenario = User::SCENARIO_SHOW; // scenario is set through configuration $model = new User(['scenario' => User::SCENARIO_SUBMIT]); 举例说明 <?php namespace app\models; use yii\base\Mode…
首先,我们在使用模型类中的验证,rules的时候,会出现以下情况: 假设有一个字段type, 当type…
意思是 update 场景不存在,也就是 定义的 rules 中没有该规则: /** * @inheritdoc * 验证规则 */ public function rules() { return [ [['name', 'password'], 'required', 'on' => ['create'], 'message' => '{attribute}不能为空'], [['password'], 'string', 'max' => 16, 'min' => 6], [[…
Yii的用户认证分为两个部分,一个是User组件,负责管理用户认证状态的,包括登录,登出,检测当前登录状态等,源文件位于vender/yiisoft/yii2/web/User.php.另一个是实现接口IdentityInterface的模型,同时必须继承ActiveRecord,当用户登录注册时,组件User会通过模型中的接口方法,对用户进行验证. 对于用户状态切换主要通过switchIdentity方法实现的,比如注册后,用户登录时,会用到User组件中的switchIdentity方法,如…
官网关于Yii2 事务的说明文档 http://www.yiiframework.com/doc-2.0/guide-db-active-record.html Working with Transactions There are two ways of using transactions while working with Active Record. The first way is to explicitly enclose Active Record method calls in…
在Yii2的basic版本中默认是从一个数组验证用户名和密码,如何改为从数据表中查询验证呢?且数据库的密码要为哈希加密密码验证? 下面我们就一步一步解析Yii2的登录过程. 一. 创建user表模型 表结构如下: CREATE TABLE `user` ( `id` ) NOT NULL AUTO_INCREMENT, `pid` ) ' COMMENT '父id', `username` ) NOT NULL COMMENT '用户名', `password` ) NOT NULL COMME…
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child { margin-top: 0; padding-top: 0; } a:first-child h1, a:first-child h2, a:first-child h3, a:fi…
想要了解更多YII,PHP方面内容,请关注本博客. 基础总结 1.修改默认控制器/方法 yii默认是site控制器,可以在web.php中设置$config中的'defaultRoute'='xxxx';使用自定义默认的控制器.也可以改写Yii::$app->defaultRoute属性. yii的默认方法是index,可以在vender/yiisoft/yii2/base/Controller.php 中进行初始设置,也可以在控制器中改写defaltAction='action'. 2.添加独…
Behvaior类,Behavior类是所有事件类的基类: 目录yii2\base\Behavior.php <?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ namespace yii\base; /** * Behavior is the base c…
熟悉Yii框架的人都知道,灵活的使用场景可以达到事半功倍的效果! 比如普通的数据的新增.修改,新增需要验证其中两个字段,而修改只需要验证其中一个字段:还有种情况,也是我们现在用到的,同一张表(同一个model)有可能在不同的项目分支中使用,但是不用的项目分支对成员变量的验证是不一样的,这时使用场景就可以轻松搞定: 1.Yii2中简单的场景使用在这里有说明: http://www.yiichina.com/tutorial/605 2.但是对于初学者可能还是不能灵活的应用: public func…