如何在 Lumen 中使用助手实现驱动程序模式

How To Implement the Driver Pattern Using Helpers in Lumen

我将如何在 Lumen 中实现驱动程序模式?现在我在 /app/Helpers 中有一个助手 ResponseHandler.php,它定义了一个 abstract class ResponseHandler.

// app/Helpers/ResponseHandler.php

namespace App\Helpers;

use \Symfony\Component\HttpFoundation\Response as HTTPResponse;

abstract class ResponseHandler extends HTTPResponse
{   

    abstract public function success();
    abstract public function fail();
    [...]
}

我有驱动程序在子目录 /app/Helpers/Response 中定义了 extend ResponseHandler。驱动程序定义如下:

// app/Helpers/Response/JSON.php

namespace App\Helpers\ResponseHandler;

class JSON extends ResponseHandler
{
    public function fail() {
        // logic
    }

    public function success() {
        // logic
    }

    [...]
}

我 运行 遇到的问题是,当我尝试在我的控制器中的函数内使用驱动程序时,Lumen 抛出以下错误:Class 'App\Helpers\ResponseHandler\JSON' not found。这是我写的控制器(删除了不相关的部分):

// app/Http/Controllers/ResponseController.php

namespace App\Http\Controllers;

use App\Helpers\ResponseHandler\JSON as Response;

class ResponseController extends Controller
{
    public function returnSomething($content) {
        [...]
        return Response::success($_ProcessedContent);
    }

    [...]
}

我试过更改名称空间,但最终导致更多错误,并没有解决这个问题。我怀疑我对名称空间以及 Lumen 如何使用它们还不够熟悉......但我已经研究这个问题几个小时了,似乎无法弄清楚。

有更多 Lumen/Laravel 经验的人可以为我阐明这个问题吗?

* [解决方案] * 设计模式是正确的,但我需要 运行:

composer dump-autoload

写完所有内容后。

您是否尝试过 运行:命令行中的 composer dumpautoload?