500miles
- 500miles 回答了问题 YII2在视图中怎么调用model的方法
如果非要调用的话 直接调用就好了啊 和在其他地方用一样的
- 500miles 回复了话题 gii生成控制器不能访问
看报错第一行 好像是因为 没有把 users和comment 模块写进配置components
- 500miles 回答了问题 请教关于session的区别
看到你发起的讨论 才知道更新了 刚更新完, 看了下代码 这次更的内容还真不少 并且都挺实用.
cacheSession 应用场景下 key value 都是单字串 没有readCallBack 和 readCallBack的必要吧
MultiFieldSession 应用场景下可以存数组
readCallback 和 writeCallback 这两个回调就可以做一定扩充了
强烈不建议这样处理....
第一 用controller Id 来指向对应的 Model 很不可靠..非常不可靠
你Model名是 BlackListController ---> id : black-list 很显然 这是不行的
另外 你在 urlRules 或者 controllerMap 做配置 也会影响到相对应的 controller Id
第二 即便可以正确指向相对应的 Model 名称 你还必须有对应的 namespace, 才能 createObject
并且这样也很不灵活, 不如放在各自控制器,
总想着 all in one 是不行滴 , 我是这么认为
- 500miles 回答了问题 yii2怎么设置动态model
强烈不建议这样处理....
第一 用controller Id 来指向对应的 Model 很不可靠..非常不可靠
你Model名是 BlackListController ---> id : black-list 很显然 这是不行的
另外 你在 urlRules 或者 controllerMap 做配置 也会影响到相对应的 controller Id
第二 即便可以正确指向相对应的 Model 名称 你还必须有对应的 namespace, 才能 createObject
并且这样也很不灵活, 不如放在各自控制器,
- 500miles 回复了话题 管理员登录后台后退出问题
loginUrl 好像是有这个配置项的 (具体参数名不一定准确, 可以去查查看, User里面)
其实 本质都是借助beforeAction事件 做处理, 当然了 结合behavior 更简洁, 更易于复用, 更符合开闭原则什么的...不过也带来一点点点点可以忽略不计的效率问题
理论上来讲, controller层接收数据, 原始数据丢给model层处理较为合适, 耦合度更低, 更符合多态特性..
但是 像 time ip 等 , 诸如此类 similar anywhere 的东西, 直接丢model处理 更加方便, 简洁.
至于具体解决, 对于yii来讲,
你可以借用yii的几个事件 beforeValidate beforeSave 等节点做处理, 可以扩展behavior处理[同样是基于event]