我有使用Colonias模型数据的MapsController(MapsController返回地图视图工作所需的一堆变量)。然后我渲染地图视图。
我也有ChartsController,它也使用来自Colonias模型的数据。它返回图表视图工作所需的变量。
我想在地图视图中渲染图表视图。为了做到这一点,我必须从MapsController调用ChartsController动作。
Yii::$app->runAction('ChartsController/Topten');
这样MapsController就能够为地图视图和图表视图变量返回变量。然后可以在地图中渲染图表。
但是,从其他控制器调用操作并不是一个好的做法。地图和图表都使用来自Colonias模型(以及其他一些模型)的数据。两者都使用相同的视图(地图内的图表)。但他们有不同的控制器。
我决定使用两个不同的控制器,因为数据的提取和处理方式不同,尽管它来自同一个模型。
我读过关于良好做法的文章,但没有提到这个......
你会怎么做?你会用一个控制器吗?拥有一个大型控制器(加入地图和图表控制器)是正确/不正确的吗?为了做好实践,最好的方法是什么?谢谢