我在 Controller 中有一个操作,它必须像“工厂小部件”一样工作:
public function actionRenderWidget($widget)
{
$widgetClass = 'My'.$widget.'Widget';
return $widgetClass::widget();
}
实现类似功能的正确方法是什么?
最佳答案
您应该简单地使用带有命名空间的类名(无需使用call_user_func()
),例如:
$widgetClass = 'app\widgets\My'.$widget.'Widget';
return $widgetClass::widget();
关于yii2 动态调用widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37726815/