Php 类中无法解析的依赖项解析[Parameter#0[<;required>;$app]]Illumb\Support\Manager
我试图以最小的方式实现没有模板的Laravel。实际上,我想迁移一个非Laravel项目并一步一步地完成它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
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,这不在升级指南中!