laobai
注:checkAccess实际代码里首先是检查有没有缓存然后才是上面的图,我有意的把那一步省了。
- laobai 回答了问题 求讲解一下RBAC的四张表
参见官方rbac的教程,当我们要检查一个User是否有权修改某篇文章时,如果这个人是admin权限自然就直接可以修改,如果不是,检查其是否为文章作者,就需要附加的rule来实现,data就是要传递给rule的数据,也就是那篇文章的模型对象,在这个对象里包含了作者ID(author_id),对比author_id和当前用户的ID,如果一样就返回true,否则false。可以参看我画的DbManager::checkAccess()的执行图示。
强烈推荐大家看慕课网上的工具篇 扩展篇等那几个系列的视频,对于稍稍有些YII2的认知,想了解yii2的内部运行原理的同学比较有帮助,慕课网上还有个收费的商城开发的视频,对于像了解整个开发流程的同学比较有帮助。
- laobai 回答了问题 Yii2.0的事件如何使用呀?
从使用的角度,对于事件我们主要需要关注两个方法:on 和 trigger,Yii为我们提供了好多默认的事件比如beforeSave afterSave等,所以通常来讲我们设置好相应的on就行了。你的代码应该在
$user = new User();
下面加上形影的on就好了。$user->on(User::AFTERSAVE,handler)