Как реализовать шаблон драйвера с помощью помощников в Lumen

Как бы я пошел о реализации шаблона драйвера в Lumen? Прямо сейчас у меня есть помощник ResponseHandler.php в /app/Helpers который определяет 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();
[...]
}

У меня есть драйверы, определенные extend ResponseHandler в подкаталоге /app/Helpers/Response, Драйвер определяется следующим образом:

// 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 / Laravel пролить свет на эту проблему для меня?

* [РЕШЕНИЕ] *
Шаблон дизайна был правильным, но мне нужно было выполнить:

composer dump-autoload

после того, как все было написано.

3

Решение

Вы пробовали запустить: composer dumpautoload из командной строки?

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector