Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 类中无法解析的依赖项解析[Parameter#0[<;required>;$app]]Illumb\Support\Manager_Php_Laravel - Fatal编程技术网

Php 类中无法解析的依赖项解析[Parameter#0[<;required>;$app]]Illumb\Support\Manager

Php 类中无法解析的依赖项解析[Parameter#0[<;required>;$app]]Illumb\Support\Manager,php,laravel,Php,Laravel,我试图以最小的方式实现没有模板的Laravel。实际上,我想迁移一个非Laravel项目并一步一步地完成它 require_once __dir__ . '/../vendor/autoload.php'; $app = new Application($_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)); $app->singleton( Illuminate\Contracts\Http\Kernel::class, App\Ker

我试图以最小的方式实现没有模板的Laravel。实际上,我想迁移一个非Laravel项目并一步一步地完成它

require_once __dir__ . '/../vendor/autoload.php';

$app = new Application($_ENV['APP_BASE_PATH'] ?? dirname(__DIR__));

$app->singleton(
    Illuminate\Contracts\Http\Kernel::class,
    App\Kernel::class
);

$app->singleton(
    Illuminate\Contracts\Debug\ExceptionHandler::class,
    App\Exceptions\Handler::class
);

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$request = \Illuminate\Http\Request::capture();
$app->instance('request', $request);

$app->bootstrapWith($this->bootstrappers);

$app->boot();
除引导程序外,其他一切正常:

\Illuminate\Foundation\Bootstrap\RegisterProviders::class,
它将加载
照明\Support\Manager
。通过挖掘,我发现
管理器的构造函数是:

public function __construct($app)
{
    $this->app = $app;
}
而Laravel无法解析
$app
的依赖项。但是,如果我用以下代码来修补这个构造函数,那么它就可以工作了

public function __construct(\Illuminate\Foundation\Application $app)

Laravel如何解决
$app
的依赖注入问题,为什么在我的情况下不起作用?

您在类的上下文之外使用
$this->app
。我很惊讶它没有抛出一个错误。您复制的行位于您试图在类上下文之外执行的内核类中

这指的是此Laravel,它不是问题:)

不要问我为什么,但您可能缺少以下提供商:

Illuminate\Notifications\NotificationServiceProvider::class

我也有你的sam方法。我排除了非默认软件包并升级了,得到了相同的错误

你必须加上

照亮\通知\通知ServiceProvider::类

给你

config/app.php

文件。
在我的情况下,这很有效。

哦!对不起,这是我的错。。我做了一些复制/粘贴来写这个问题。我修好了Hanks Novox,这不在升级指南中!