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

时间:2016-08-25 05:19:50

标签: yii yii2 yii2-advanced-app yii-components yii2-basic-app

我是YII的新手使用yii2 basic.actually我想知道如何从同一个控制器的动作调用一个公共函数。假设我在行动A中发送邮件。我需要调用带有三个参数的发送邮件功能B,它会重新发送一些值。我的控制器名称是Customer Controller。我将如何执行此操作。请说我一个解决方案。谢谢

2 个答案:

答案 0 :(得分:2)

对于yii2,首先创建一个名为&#34的文件夹;组件"在您的项目根文件夹中。

然后在组件文件夹.i.e MyComponent.php或其他任何内容中编写自定义组件。

namespace app\components;

use Yii;
use yii\base\Component;
use yii\base\InvalidConfigException;

class MyComponent extends Component
{
  public function MyFunction($param1,$param2){
    return $param1+$param2; // (:)
  }
}

现在在配置文件中添加您的组件。

'组分' => [

     'mycomponent' => [

        'class' => 'app\components\MyComponent',

        ],
       ]

在您的应用中访问:

Yii::$app->mycomponent->MyFunction(4,2);

答案 1 :(得分:0)

如果它只在控制器中共享,你可以在其中创建一个函数。 Yii2中的组件应该用于应用程序目的(在多个控制器之间共享)。

  private function myFunction(a, b){
      return a+b;
  }

然后从控制器中的任何一个调用它

public function actionSomeAction(){
   if(myFunction(1,2)>4){...}
}

此外,组件的想法是拥有更多功能,只是一个功能,例如让所有用户的行为。