首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目标[Illuminate\Contracts\Routing\ResponseFactory]不可实例化

目标[Illuminate\Contracts\Routing\ResponseFactory]不可实例化
EN

Stack Overflow用户
提问于 2016-12-21 23:47:34
回答 5查看 6.3K关注 0票数 5

我正在尝试返回如下响应:

代码语言:javascript
复制
return response()->json(['name' => 'Abigail', 'state' => 'CA']);

然而,我得到了错误:

代码语言:javascript
复制
Target [Illuminate\Contracts\Routing\ResponseFactory] is not instantiable.

有什么想法吗?

这是我的composer.json:

代码语言:javascript
复制
{
  "name": "laravel/lumen",
  "description": "The Laravel Lumen Framework.",
  "keywords": [
    "framework",
    "laravel",
    "lumen"
  ],
  "license": "MIT",
  "type": "project",
  "require": {
    "php": ">=5.5.9",
    "laravel/lumen-framework": "5.2.*",
    "vlucas/phpdotenv": "~2.2",
    "generationtux/jwt-artisan": "^0.1.7",
    "barryvdh/laravel-cors": "^0.8.0",
    "neomerx/cors-illuminate": "^1.1",
    "fenos/notifynder": "3.1.*",
    "franzose/closure-table": "^4.1",
    "mlntn/lumen-artisan-serve": "~1",
    "guzzlehttp/guzzle": "~6.0",
    "league/flysystem": " ~1.0",
    "bugsnag/bugsnag-laravel": "^2.0"
  },
  "require-dev": {
    "fzaninotto/faker": "~1.4",
    "phpunit/phpunit": "~4.0"
  },
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "GuzzleHttp\\": "/vendor/guzzlehttp/"
    },
    "classmap": [
      "database/"
    ]
  },
  "autoload-dev": {
    "classmap": [
      "tests/",
      "database/"
    ]
  },
  "config": {
    "preferred-install": "dist"
  }
}
EN

回答 5

Stack Overflow用户

发布于 2020-05-25 17:19:08

我仍然会在2020年遇到这个错误。以下是@sunben提供的解决方案的更新版本:

bootstrap/app.php,中,取消注释以下行

$app->register(App\Providers\AppServiceProvider::class);

然后在app\Providers\AppServiceProvider.php,更新寄存器方法中添加:

代码语言:javascript
复制
$this->app->singleton(\Illuminate\Contracts\Routing\ResponseFactory::class, function() {
    return new \Laravel\Lumen\Http\ResponseFactory();
});
票数 10
EN

Stack Overflow用户

发布于 2018-02-08 14:20:34

可能会迟到,但找到了解决方案。

bootstrap/app.php,中,取消注释以下行

代码语言:javascript
复制
$app->register(App\Providers\AppServiceProvider::class);

然后在app\Providers\AppServiceProvider.php,更新寄存器方法中添加:

代码语言:javascript
复制
public function register()
{
    $this->app->singleton('Illuminate\Contracts\Routing\ResponseFactory', function ($app) {
        return new \Illuminate\Routing\ResponseFactory(
            $app['Illuminate\Contracts\View\Factory'],
            $app['Illuminate\Routing\Redirector']
        );
    });
}
票数 4
EN

Stack Overflow用户

发布于 2021-02-18 14:19:42

尝试像这样的public function register() { $this->app->singleton(\Illuminate\Contracts\Routing\ResponseFactory::class, function() { return new \Laravel\Lumen\Http\ResponseFactory(); }); $this->app->bind(\Illuminate\Contracts\Routing\UrlGenerator::class, function ($app) { return new \Laravel\Lumen\Routing\UrlGenerator($app); }); }

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41266764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档