douniangliao4327 2015-07-01 08:33
浏览 21
已采纳

在Yii2中为单个请求设置全局可用代码

I'm using Yii2 and I have a situation where I want to make some code globally available, but only for that request.

My use case is based on this question where I am doing some permission checks via a matchCallback.

I need to run a few different permission checks and if I can't do them all in the one place via the matchCallback (because I can't access all of the data I need it seems at that specific time) - then I am trying to avoid having to run the query again.

So, I was wondering if I could store data retrieved from the database such as a JSON encoded permission array within my matchCallback functionaltiy so I could then access that array within another action.

I know I could use flash data, but that seems like it is more meant for the next request. Is there anything available for just the current request or should I just use flash data anyway?

  • 写回答

1条回答 默认 最新

  • douqilai4263 2015-07-01 08:51
    关注

    I wonder what would be the best practice here too... As for me I'd use Yii::$app->params array for that purpose. It does not look very good as it's called 'params' and supposed to be some custom parameters like 'adminEmail' etc. But it works nice: it is readable and writable from everywhere and if you set some of its keys or values dynamically it will long only for this particular request - just what you want. It's like:

    Yii::$app->params['myKey'] = $myValue;
    ...
    $myValue = Yii::$app->params['myKey'];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗