[英]How to register service provider in laravel
我正在嘗試在 laravel 5.3 安裝中為我的應用程序構建自己的代碼存儲庫。 我在laravel安裝目錄的根文件夾中創建了以下文件夾Nitseditor,然后將以下內容更改為composer.json
"psr-4": {
"App\\": "app/",
"NitsEditor\\": "NitsEditor/"
}
我在提供者文件夾中創建了一個服務提供者,即Nitseditor\\Providers\\DomainServiceProvider
namespace Nitseditor\Providers;
use Illuminate\Support\ServiceProvider;
class DomainServiceProvider extends ServiceProvider {
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register to check domain subscription status
*
* @return void
*/
public function register()
{
$this->checkDomainName();
$this->app->singleton('domain', function()
{
return $this->domain;
});
}
/**
* Checking domain status
*/
public function checkDomainName()
{
$domain = $_SERVER['HTTP_HOST'];
return $domain;
}
}
然后我在config\\app.php
更改了以下內容
/*
* Nitseditor Service Providers...
*/
Nitseditor\Providers\DomainServiceProvider::class
然后我做了composer dump-autoload
我收到FatalThrowableError
以下是屏幕截圖
幫幫我。
根據我的說法,您應該清除緩存。
按着這些次序:
php artisan config:clear
php artisan config:cache
composer dump-autoload
從app.php
刪除 provider,運行composer dumpauto
命令,在app.php
返回它。
如果命名空間正確,這將起作用。
我輸入了 "NitsEditor\\": "NitsEditor/" 但它應該是 "Nitseditor\\": "Nitseditor/" 大寫小寫錯誤,這解決了我的問題。
發布在 app.php 中添加的 Service Provider
php artisan vendor:publish
另外,如果您添加的目錄中有 helpers.php,請確保在 composer.json 中包含該文件
舉個例子
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"Spatie\\Permission\\": "Spatie/",
"Kalnoy\\Nestedset\\": "Kalnoy/"
},
"files": [
"Spatie/helpers.php"
]
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.