yii2 动态调用widget

标签 yii2

我在 Controller 中有一个操作,它必须像“工厂小部件”一样工作:

public function actionRenderWidget($widget)
{
    $widgetClass = 'My'.$widget.'Widget';
    return $widgetClass::widget();
}

实现类似功能的正确方法是什么?

最佳答案

您应该简单地使用带有命名空间的类名(无需使用call_user_func()),例如:

$widgetClass = 'app\widgets\My'.$widget.'Widget';
return $widgetClass::widget();

了解更多关于Dynamically accessing namespaced elements的信息.

关于yii2 动态调用widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37726815/

相关文章:

rest - Rest API yii2 中的文件上传

服务器上的 PHPMailer smtp 连接失败

php - Yii2:编写表单 Action 的正确方式

mysql - Sql 查询在连接表中搜索多个匹配项

Yii2 Basic - 我如何在 yii2 操作中使用常用功能

php - 使用 Yii2 在 sqlserver 中选择模式和表?

php - MySQL 查询中的 Yii2 REGEXP

Yii2 动态表单更新操作不起作用

php - 如何通过 Yii 2 将最后插入的 id 存储在变量中

yii2 - 使用 yii 2.0.3 上传文件出错