Yii2 Basic - 我如何在 yii2 操作中使用常用函数功能

Yii2 Basic - How I use common function functionality in yii2 action

我是 YII 的新手,使用 yii2 basic.actually 我想知道如何从同一控制器的操作中调用通用函数。假设我正在执行发送邮件的操作 A。我需要用三个参数调用发送邮件函数 B,它会返回一些值。我的控制器名称是客户控制器。我将如何执行此操作。请告诉我一个解决方案。谢谢

对于 yii2,首先在项目根文件夹中创建一个名为 "components" 的文件夹。

然后在组件文件夹中编写您的自定义组件。即 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; // (:)
  }
}

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

'components' => [

     'mycomponent' => [

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

        ],
       ]

在您的应用中访问:

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

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

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

然后在你的控制器中的任何地方调用它

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

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