Laravel / Lumen - 反射异常 Class 不存在
Laravel / Lumen - Reflection Exception Class does not exist
我正在尝试将管理器 class 注入到 Lumen 的脚趾服务容器中。我的目标是拥有 LogManager
的单个实例,它可通过 app(LogManager::class)
在整个应用程序中使用。
每次我尝试访问此快捷方式时,我都会收到以下异常消息:
[2017-03-23 16:42:51] lumen.ERROR: ReflectionException: Class LogManager does not
exist in /vendor/illuminate/container/Container.php:681
LogManager.php(我把 class 放在我的模型所在的相同位置 (app/LogManager.php) )
<?php
namespace App;
use App\LogEntry;
class LogManager
{
...
}
AppServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\LogManager;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app->singleton(LogManager::class, function ($app) {
return new LogManager();
});
}
}
我取消了 bootstrap/app.php
中 $app->register(App\Providers\AppServiceProvider::class);
行的注释
我想我错过了一些正确的命名空间或 classes 的位置,尤其是 LogManager。也许有人愿意给我提示?
如果您需要更多信息,请给我提示!
您的 class 和您的服务提供商看起来都很好。但是,无论您在哪里调用 app(LogManager::class)
还需要知道 class.
的完全限定名称
要么确保文件顶部有 use App\LogManager
,要么将调用更改为 app(\App\LogManager::class)
。
我正在尝试将管理器 class 注入到 Lumen 的脚趾服务容器中。我的目标是拥有 LogManager
的单个实例,它可通过 app(LogManager::class)
在整个应用程序中使用。
每次我尝试访问此快捷方式时,我都会收到以下异常消息:
[2017-03-23 16:42:51] lumen.ERROR: ReflectionException: Class LogManager does not
exist in /vendor/illuminate/container/Container.php:681
LogManager.php(我把 class 放在我的模型所在的相同位置 (app/LogManager.php) )
<?php
namespace App;
use App\LogEntry;
class LogManager
{
...
}
AppServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\LogManager;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app->singleton(LogManager::class, function ($app) {
return new LogManager();
});
}
}
我取消了 bootstrap/app.php
$app->register(App\Providers\AppServiceProvider::class);
行的注释
我想我错过了一些正确的命名空间或 classes 的位置,尤其是 LogManager。也许有人愿意给我提示?
如果您需要更多信息,请给我提示!
您的 class 和您的服务提供商看起来都很好。但是,无论您在哪里调用 app(LogManager::class)
还需要知道 class.
要么确保文件顶部有 use App\LogManager
,要么将调用更改为 app(\App\LogManager::class)
。