在 Yii2 中,你可以使用 runAction()
方法来调用其他控制器中的方法,并传递参数。以下是一个示例:
php">$controller = Yii::$app->createController('controller-id')[0]; // 替换为你要调用方法的控制器ID
$actionID = 'action-id'; // 替换为你要调用的方法名
$params = [
'param1' => 'value1', // 替换为方法需要的参数及对应的值
'param2' => 'value2',
];
$controller->runAction($actionID, $params);
在上述代码中,首先使用 createController()
方法创建控制器实例,并通过 [0]
获取实际的控制器对象。然后,你可以指定要调用的方法名(例如 'action-id'
)。
接下来,我们创建一个关联数组 $params
,其中包含方法需要的参数及其对应的值。你可以根据需要添加或修改参数。
最后,使用 runAction()
方法来调用指定的方法,并传递参数。这将模拟请求该方法,相当于直接调用了该控制器的指定方法。
注意:
- 请确保控制器类已被正确加载,并设置了相应的命名空间。
- 替换
'controller-id'
为实际的控制器 ID,替换'action-id'
为实际的方法名。 - 参数数组的键对应方法中的参数名,值对应实际的参数值。
这样,你就可以使用 runAction()
方法在 Yii2 中调用其他控制器中的方法,并传递参数。