[英]Yii2 How to call controller action from the view
我在控制器中有一個按照我想要的方式操作數據的功能。 現在我想在view
中的index.php
文件中調用該函數。 我怎么做?
在我的控制器中
function actionTesting($params){
.....
}
如何在視圖中調用它...
<?php
echo $this->testing($params);//Calling unknown method: yii\web\View::testing()
?>
您不應該從視圖中調用控制器操作。 我認為它違反了MVC模式。
至於錯誤,很明顯, $this
在視圖中指的是yii\\web\\View
,而不是控制器和testing
方法顯然不存在。
之前有類似的問題 ,這里有可能的解決方案( Manesh的學分):
Yii::$app->runAction('controller/action', ['param1' => 'value1', 'param2' => 'value2']);
僅僅調用控制器動作和通常的方法調用是不夠的,因為需要應用某些事件等。
我不建議使用這種方法,最好根據它的類型將邏輯移動到組件/模型。
你可以這樣做
$parse = array(
...............
'aliasName' => $this,
..............
);
return $this->render('viewFile',$parse);
而且你可以像這樣調用函數
<?php echo $aliasName->testing($param) ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.