是否可以通过变量动态调用模型函数?
$model = $request['model'];
$action = $request['action'];
我有一些模型和几个功能。现在我想基于变量$ model和$ action来调用模型函数。在这种情况下,我需要根据请求动态调用模型函数。
答案 0 :(得分:1)
用于静态功能
假设您有一个班级,例如:
\common\models\MyClass
带
public static function mStatyFunction()
{
....
}
您可以将类名称用作var
$myClass = '\common\models\MyClass';
$myClass::myStatFunction();
或者如果您还需要函数名称为var,则可以
$myFunc = 'myStatFunction';
$myClass::$myFunc();
对于非静态函数,您只需创建一个新对象
public function myDinaFunction()
{
....
}
$myObject = new MyClass();
并调用函数
$myObject->myDinaFunction();
或
$var = 'myDinaFunction";
$myObject->$var();