Lumen 報錯提示 實例不了 Response 類的問題

今天使用Lumen的時候,用到了Response類,很奇怪提示:Target [Illuminate\Contracts\Routing\ResponseFactory] is not instantiable.

大概就是說實例不了Response 類,那怎麼解決呢?咱們以一個全新的Lumen項目來講

1.我在web.php寫了個路由

<?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It is a breeze. Simply tell Lumen the URIs it should respond to
| and give it the Closure to call when that URI is requested.
|
*/
use Illuminate\Support\Facades\Response;
$router->get('/', function () use ($router) {
    return Response::json('123456',200);
});

而後訪問這個路由報錯以下(也就是咱們要解決的錯誤):php

Lumen報錯提示 實例不了Response類的問題

2.解決辦法

2.1 打開項目根目錄下的 bootstrap/app.phpweb

//找到這兩行把註釋去掉
 $app->withFacades();  
 $app->register(App\Providers\AppServiceProvider::class);

2.2 找到 項目根目錄下的 app/Providers/AppServiceProvider.phpjson

<?php

namespace App\Providers;

use Illuminate\Routing\ResponseFactory;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {

    }
}

在 register 註冊 ResponseFactory 修改以下:bootstrap

<?php

namespace App\Providers;

use Illuminate\Routing\ResponseFactory;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->singleton('Illuminate\Contracts\Routing\ResponseFactory', function ($app)
        {
            return new ResponseFactory(
            $app['Illuminate\Contracts\View\Factory'], 
            $app['Illuminate\Routing\Redirector']);
        });
    }
}

這時候還不行, 咱們還須要安裝一個 庫,切換到項目根目錄 執行composer命令:app

composer require "illuminate/routing"

庫安裝完後,咱們訪問試試:composer

Lumen報錯提示 實例不了Response類的問題

很簡單吧,這樣就能夠啦~~ide

特別提示:ui

本人正在培養本身的寫做水平,會把平時遇到的問題和有趣的東西記錄下來,若是對你有幫助請動動小手點個贊支持支持,大神莫噴,謝謝!!this

相關文章
相關標籤/搜索