Yii2 从变量动态调用模型中的 PHP 函数
Yii2 call PHP function in model dynamically from variable
是否可以通过变量动态调用模型函数?
$model = $request['model'];
$action = $request['action'];
我里面有一些模型和几个函数。现在我想调用一个基于变量 $model 和 $action 的模型函数。在这种情况下,我需要根据请求动态调用模型函数。
对于静态函数
假设你 class 例如:
\common\models\MyClass
有
public static function mStatyFunction()
{
....
}
您可以使用 class 名称作为变量
$myClass = '\common\models\MyClass';
$myClass::myStatFunction();
或者如果你还需要函数名作为 var 你可以
$myFunc = 'myStatFunction';
$myClass::$myFunc();
对于非静态函数,您可以简单地创建一个新对象
public function myDinaFunction()
{
....
}
$myObject = new MyClass();
并调用函数
$myObject->myDinaFunction();
或
$var = 'myDinaFunction";
$myObject->$var();
是否可以通过变量动态调用模型函数?
$model = $request['model'];
$action = $request['action'];
我里面有一些模型和几个函数。现在我想调用一个基于变量 $model 和 $action 的模型函数。在这种情况下,我需要根据请求动态调用模型函数。
对于静态函数
假设你 class 例如:
\common\models\MyClass
有
public static function mStatyFunction()
{
....
}
您可以使用 class 名称作为变量
$myClass = '\common\models\MyClass';
$myClass::myStatFunction();
或者如果你还需要函数名作为 var 你可以
$myFunc = 'myStatFunction';
$myClass::$myFunc();
对于非静态函数,您可以简单地创建一个新对象
public function myDinaFunction()
{
....
}
$myObject = new MyClass();
并调用函数
$myObject->myDinaFunction();
或
$var = 'myDinaFunction";
$myObject->$var();