laravel - laravel 5.7 中的服务层

标签 laravel laravel-5

我浏览了 Laravel 文档,发现每个请求都遵循中间层 -> Controller 层 -> 资源层 流程。 但是对于我的项目,我有一个巨大的业务处理逻辑需要编写。所以,我正在寻找一个服务层选项,其中执行控制将从 Controller 传递,然后服务层将执行处理逻辑以及数据库获取。但是我没有在 artisan 中找到任何与服务层部分相关的内容。

那么,你能建议我如何在我的项目中实现服务层吗?

最佳答案

app/ 下创建一个 Services 文件夹,然后使用 Controllers dependency injections 怎么样? ?

应该是这样的:

MyService.php

<?php
namespace App\Services;

use App\Models\Bar;

class MyService
{
    public function foo(Bar $bar)
    {
       // do things
    }
}

MyController.php

<?php
namespace App\Http\Controllers;

use App\Services\MyService;
use App\Models\Bar;

class MyController extends Controller
{
    protected $myService;

    public function __construct(MyService $myService)
    {
        $this->myService = $myService;
    }

    public function handleRequest(Bar $bar)
    {
        $this->myService->foo($bar);
    }
}

关于laravel - laravel 5.7 中的服务层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53437781/

相关文章:

laravel - 使用 Laravel FCM 向设备和 Web 浏览器发送推送通知

php - mysql 中是否有任何选项可以设置一列不应大于另一列

javascript - 我的文本区域值不会进入数据库

Laravel 5.2 服务提供程序未启动

php - 如何在Laravel 5.6中使用不同的编辑形式更新表

javascript - CKEditor 忽略 Laravel 中的 BASEPATH

php - View 和 View :make? 有什么区别

php - 如何在::auth() 上应用中间件?

javascript - Laravel、Ajax、Jquery 插件

拉拉维尔 : failed to open stream: Success _ error in auth