我在控制器中有一个按照我想要的方式操作数据的功能。现在我想在index.php
的{{1}}文件中调用该函数。我该怎么做?
在我的控制器中
view
如何在视图中调用它..
function actionTesting($params){
.....
}
答案 0 :(得分:9)
您不应该从视图中调用控制器操作。我认为它违反了MVC模式。
至于错误,很清楚,$this
在视图中是指yii\web\View
,而不是控制器,testing
方法显然不存在。
之前有similar question询问,这里有可能的解决方案( Manesh 的学分):
Yii::$app->runAction('controller/action', ['param1' => 'value1', 'param2' => 'value2']);
仅仅调用控制器动作和通常的方法调用是不够的,因为需要应用某些事件等。
我不建议使用这种方法,最好根据逻辑类型将逻辑移动到组件/模型。
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以这样做
$parse = array(
...............
'aliasName' => $this,
..............
);
return $this->render('viewFile',$parse);
然后您可以调用
之类的函数<?php echo $aliasName->testing($param) ?>