beg*_*ner 4 model-view-controller yii2 yii2-advanced-app
我在控制器中有一个按照我想要的方式操作数据的功能.现在我想在index.php文件中调用该函数view.我怎么做?
在我的控制器中
function actionTesting($params){
.....
}
Run Code Online (Sandbox Code Playgroud)
如何在视图中调用它...
<?php
echo $this->testing($params);//Calling unknown method: yii\web\View::testing()
?>
Run Code Online (Sandbox Code Playgroud)
您不应该从视图中调用控制器操作.我认为它违反了MVC模式.
至于错误,很明显,$this在视图中指的是yii\web\View,testing那里显然不存在控制器和方法.
之前有类似的问题,这里有可能的解决方案(Manesh的学分):
Yii::$app->runAction('controller/action', ['param1' => 'value1', 'param2' => 'value2']);
Run Code Online (Sandbox Code Playgroud)
仅仅调用控制器动作和通常的方法调用是不够的,因为需要应用某些事件等.
我不建议使用这种方法,最好根据它的类型将逻辑移动到组件/模型.
| 归档时间: |
|
| 查看次数: |
15341 次 |
| 最近记录: |