2015-09-17 1 views
3

Как я могу применить шаблон драйвера в Lumen? Прямо сейчас у меня есть помощник ResponseHandler.php в /app/Helpers, который определяет abstract class ResponseHandler.Как реализовать шаблон драйвера с помощью помощников в Lumen

// 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

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

ответ

1

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

+0

Это была именно эта проблема. Хотя, команда - 'comper dump-autoload', с тире. Похоже, я еще немного читаю, как работает композитор. Спасибо! Для справки: https://getcomposer.org/doc/03-cli.md#dump-autoload – wooldrb

Смежные вопросы