Laravel 5.7中的服务层

时间:2018-11-22 20:44:14

标签: laravel laravel-5

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

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

1 个答案:

答案 0 :(得分:4)

Services下创建一个app/文件夹并使用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);
    }
}