Yii2从变量动态调用模型中的PHP函数

时间:2018-04-09 18:30:05

标签: function variables model yii2 call

是否可以通过变量动态调用模型函数?

$model = $request['model'];
$action = $request['action'];

我有一些模型和几个功能。现在我想基于变量$ model和$ action来调用模型函数。在这种情况下,我需要根据请求动态调用模型函数。

1 个答案:

答案 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();