【Yii2】高级模板跨应用调用组件的最佳解决方案

项目需求

在Yii2的高级模板中,可以创建多个应用。

目前有两个应用

  • 网站
  • 管理后台

其中网站使用pageCache作为缓存组件。

由于使用缓存组件,导致后台的内容没有及时更新,所以,需要在后台创建模块,手动刷新网站的缓存。

思路

使用网站配置文件在后台注册组件

也就是说,在缓存模块上,直接注册组件,再调用方法。

经过实践,不可行

修改Yii.php在后台项目注册网站组件

由于改动比较大,没有完成具体操作

解决方案

直接使用后台模块加载网站配置

具体思路如下

  1. 网站使用的路径被注册在common/config/bootstrip.php中,其他应用都可以引用
  2. 对于缓存组件,不同的就是缓存对应的路径不同,被设定为cachePath
  3. 只要调用缓存组件,配置cachePath,就能直接操作网站应用的缓存数据。

具体代码

$cache = \Yii::$app

你可能感兴趣的:(#,PHP问题集锦)