簡體   English   中英

如何在laravel中注冊服務提供者

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM