要实现中文化我们需要借助一个开源库,这篇给大家介绍通过 overtrue/pinyin 来实现对中文的slug,实现代码很简单,通过对 SluggableBehavior 的value值进行解析即可。
这节的主要目的
得到 SluggableBehavior 中文化的方法
认识 overtrue/pinyin,这个库会对你很有用
例子还是接上篇,上篇传送门 http://nai8.me/sapper-view.ht...
先说说 overtrue/pinyin,这个是国内活跃的PHP开发者安正超的作品,基于 CC-CEDICT 词典的中文转拼音工具,更准确的支持多音字的汉字转拼音解决方案。
少言,直接开始。
安装 overtrue/pinyin
composer require "overtrue/pinyin:~3.0"
速度很快,安装成功,贴图留纪念。
开始中文化
还是上篇的例子,假设username的名字叫做“贾宝玉”,我们利用overtrue/pinyin库分析出“jia-bao-yu”。
修改Member模型类
use Overtrue\Pinyin\Pinyin;
...
public function behaviors()
{
return [
[
'class' => SluggableBehavior::className(),
'slugAttribute' => 'slug',
'value' => function($event) {
$pinyin = new Pinyin();
return $pinyin->permalink($this->username);
}
]
];
}
这样就可以了,利用行为的value实现我们对slug的赋值功能。
完了
利用开源库很方便的实现了中文的SluggableBehavior行为,阿北建议大家仔细研究下这个pinyin库,很多实用的功能。到此为止,yii2的内置行为就算讲完了,下一篇我们开始讲解如何自己建立行为以及一些看似复杂的原理。
没完,还有一件小事
整个小广告,大家知道sf社区有讲座频道,我在7月24号会有一节专讲PHPSTORM工具的牛X功能讲解,感兴趣的去看看
https://segmentfault.com/l/15...
本文原创发布于微信公众号 北哥兄弟连。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。