@include 等效于 Laravel 中的控制器

@include equivalent for controllers in Laravel

我有各种控制器函数,其中有大量代码(用于 API 调用),这些代码在其他函数中重复了很多时间。是否有一个 @include 相当于 copy/paste 我的控制器中的代码。这将更容易阅读和跟进。

在我的控制器中,是这样的

    public function store () 
    {
       if ($company->name = 'XYX')
       {
           @include('xyzcontrollercode') 
       }

       if ($company->name = 'DEF')
       {
           @include('defcontrollercode') 
       }
   }

包含 - 'xyzcontrollercode' 将包含大量逻辑,一旦 'if' 条件匹配,这些逻辑就会执行。

有什么方法可以为控制器实现这种功能吗?

您可以创建一个通用控制器并继承它。

例如:

class GeneralController extends Controller
{
    public function operation(){
        // do some things ...
    }
}

class HomeController extends GeneralController
{
    public function store(){
        // do some things ...

        if ($company->name == 'XYX')
        {
            $this->operation(); 
        }

        // do something ...
    }
}

或者你可以使用依赖注入