2017-04-29 12:17:10 1651次浏览 1条回答 0 悬赏 40 金钱

场景:
  游戏项目,用户进行任何操作,都会触发一个“更新”(包含了最后操作时间、资源、进程等)。

  1. 准备写一个独立功能类:Update,这个类里面处理所有的Update任务,这个类应该放在哪个文件夹?
  2. 有没有触发器 / 事件之类的?在用户进行操作后,自动执行Update,目测可以省几十行重复代码。

最佳答案

  • johnny1991 发布于 2017-04-30 15:38 举报

    写一个公共的Controller类,你所用到的所有Controller都继承他,然后在这个类的beforeAction里面调用你自定义的Update方法

    3 条回复
    回复于 2017-05-01 00:19 回复

    第一个问题还有疑问:本来是每个表都有一个Update方法(Resource、Troop、Mail等),我想把这个Update提取出来,单独聚合在一起,这个是放在“公共Controller”里面,还是写一个Update类?

    回复于 2017-05-01 12:33 回复

    你想把所有的update方法提出来,也不是不可以,你写一个BaseActiveRecord类,继承ActiveRecord,然后所有的你用到的activeRecord子类都继承你的BAseActiveRecord类,然后在这个baseActiveRecord类里面写一个updateRecord的方法,然后你所有的update方法都调用这个方法,是实现了统一的方法,而且省了不少代码;updateRecord具体做法就是:
    1.根据某个条件找到一个activeRecord的对象
    2.然后再给这个activeRecord里面的表字段赋值(你想要更新的值)
    3.最后调用$activeRecord->update()方法即可

    回复于 2017-05-01 12:39 回复

    感谢大佬,理解了

    觉得很赞
    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
狼骑舞者
助理

狼骑舞者

注册时间:2016-02-05
最后登录:2018-12-20
在线时长:10小时36分
  • 粉丝3
  • 金钱69
  • 威望0
  • 积分169

热门问题