如何在流明中實現驅動程序模式?現在我有一個幫助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();
[...]
}
我已經定義的驅動程序,在子目錄/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
}
[...]
}
我遇到的問題是,當我嘗試在我的控制器使用的驅動程序函數內部,流明引發以下錯誤: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
後。
這正是問題所在。雖然,該命令是'composer dump-autoload',並帶有破折號。看起來我有更多的閱讀材料可以幫助作曲家工作。謝謝! 僅供參考:https://getcomposer.org/doc/03-cli.md#dump-autoload – wooldrb