菜鸟鼻涕
- 菜鸟鼻涕 2017-10-01 已签到连续签到4天,获得了20个金钱
- 菜鸟鼻涕 赞了说说提前放假了,假期不打卡了,好好的耍。
- 菜鸟鼻涕 赞了说说It sucks.
- 菜鸟鼻涕 2017-09-30 已签到连续签到3天,获得了15个金钱
- 菜鸟鼻涕 发表了说说哈哈哈,新头像签到
- 菜鸟鼻涕 2017-09-29 已签到连续签到2天,获得了10个金钱
- 菜鸟鼻涕 赞了回答
从本质上来说,区别就是方法名 和 触发的顺序不同。
如你所说的,在接收到请求并解析时,首先会实例化相关类文件
即首先执行 __construct 中的逻辑代码
根据框架的源码来看,第二步是执行 init 中的逻辑代码
再到 beforeAction
最后才是请求对应的控制器中的actionXxx 。当然所有的方法都是可以通过继承的方式修改,只需符合框架的逻辑执行顺序即可。 有疑问的话不妨多测试测试
- 菜鸟鼻涕 赞了回答
首先,从思想上不要把RBAC想的太神秘。
说白了,它其实就是类似,你有某个锁的钥匙,然后你才能打开它,一样的道理。
RBAC文档样例中的 createPost 也是一个钥匙。至于锁要放在哪边,就看你的业务逻辑了,可以只用一次 也可以多个地方用一个锁。
由于常见的业务都跟 用户 和 控制器 相关,所以我们才会习惯性的把 控制器路由的路径(比如 /module/controller/action 之类的) 设置为钥匙(权限名称)。
这样,当你访问某个控制器时,没钥匙,就会提示权限不足。建议多结合框架进行测试,验证之后 心里就有底了 ;)
- 菜鸟鼻涕 2017-09-28 已签到连续签到1天,获得了5个金钱