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

标签 php laravel namespaces driver lumen

我将如何着手在 Lumen 中实现驱动程序模式?现在我在 /app/Helpers 中有一个帮助程序 ResponseHandler.php,它定义了一个 抽象类 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
    }

    [...]
}

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

// 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);
    }

    [...]
}

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

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

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

Composer 转储自动加载

一切都写完之后。

最佳答案

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

关于php - 如何在 Lumen 中使用助手实现驱动程序模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32640929/

相关文章:

php - 如何在 laravel 中使用逗号分隔值的列使用 'where'

Laravel 气闸/密室验证检查

php - 基于 Laravel 的条件注册重定向

c++ - using::namespace::something 比 namespace::something 有什么好处?

windows-phone-7 - 在 Windows Phone 中重命名命名空间

javascript - Ajax 帖子未完成

PHP SoapClient 版本不匹配

php - 更新多行记录

php - 在 MySQL 中选择单行

python - 修改Python导入脚本的命名空间