加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

yii2学习教程之5种内置行为类详解

发布时间:2021-02-27 06:46:40 所属栏目:编程 来源:网络整理
导读:媒介 众所周知进修全部常识都必要循规蹈矩,举动也是一样,在我们学会很牛逼的新建举动,然后轻松注入到组件类之前,先看看yii2框架为我们筹备的5个内置的举动类,大概你刚要用到~话不多说了,来一路看看具体的先容: 本节的目标是让列位小搭档在行使进程中

public function behaviors(){
return [
[
'class' => SluggableBehavior::className(),'attribute' => 'username',// 'slugAttribute' => 'slug',];
}
}

要留意的是,yii2框架的slugAttribute默以为slug,而我们方才在数据表中增进的字段也叫slug,因此不必要再配置slugAttribute了。

接下来我们天生一个username=wang hao的记录,你会发明该记录的slug自动被添补为wang-hao了

yii2进修教程之5种内置举动类详解

Url美化

虽然到而今,通过 http://abc.com/memberr/wang-hao 我们依然得不到,还必要UrlMananger的支持。

yii2进修教程之5种内置举动类详解

Action的实现

接下来我们的MemberController节制器里

use yiiwebController;
use appmodelsMember;

class MemberController extends Controller{

public function actionSlug($slug)
{
$model = Member::find()->where(['slug'=>$slug])->one();
yiihelpersVarDumper::dump($model->toArray(),10,true);die();
}
}

接下来你会见/member/wang-hao后,获得了想要的功效。

yii2进修教程之5种内置举动类详解

这个环境在许多博客和cms站点常常用到,好比你可以会见下月光博客看看它的url,通过 SluggableBehavior 举动帮我们省去了本身填写slug的贫困,自动添加。

虽然这个举动类有一个弱点就是不支持中文,假如你的字段是中文,它说明不出来,不要紧,下节我们会讲授怎样让他支持中文

关于 SluggableBehavior 尚有几个参数有须要交接一下

SluggableBehavior::className(),'immutable' => true,'ensureUnique'=>true,]; }

immutable 此参数默以为假,当配置为真时,一旦一个记录被天生,往后就算更更新了 'attribute' => 'username' 字段,slug值也不会改变。

ensureUnique 此参数默以为假,当配置为真时,可以有用停止slug的一再,假如两个username都叫做 wang hao,则天生的slug会是wang-hao 和 wang-hao-2

yii2进修教程之5种内置举动类详解

其他两个

还剩下 BlameableBehavior 和 AttributeTypecastBehavior 两个举动,着实说到这里你应该能感受到,yii2的内置举动首要是对AR模子属性的加强,事实这是我们最常用的。

通过上面三个举动的进修,我想你可以很轻松的搞定这两个,代码方面我不再讲授,说嗣魅这两个举动的浸染。

BlameableBehavior

该举动首要是为一个ar对应数据表自动添补当前登录会员ID

BlameableBehavior::className(),'createdByAttribute' => 'author_id','updatedByAttribute' => 'updater_id',]; }

假如是靠山等模块,你可以配置value字段来完成对登录ID的获取。

AttributeTypecastBehavior

AttributeTypecastBehavior 举动是yii2在v2.0.10版本时增进的,首要提供了一个自动转换模子属性名目标举动,这针对付相同MongoDB或Redis等无模式的数据库来说长短常有效的。

今朝该举动提供的范譬喻下

虽然它也提供了一个 手动要领 typecastAttributes,你可直接挪用举办属性名目标转换。

最后

以上就是yii2提供的5个内置的举动类,通过这些举动(首要是前3个)可以帮我们镌汰许多代码的编写。

虽然后续的章节你将逐步领会到举动的更多给力之处,一路等候。

以上就是这篇文章的所有内容了,但愿本文的内容对各人的进修可能事变能带来必然的辅佐,假若有疑问各人可以留言交换,感谢各人对编程之家的支持。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读