簡體   English   中英

嘗試從laravel中的包獲取配置值會返回null

[英]Trying to get a config value from a package in laravel returns null

我正在為Laravel 4創建一個程序包,它將有一個配置文件,用戶可以在其中輸入該程序包正在使用的服務的api密鑰。 但是,我在訪問配置值時遇到問題。 每當我嘗試訪問該值時,它總是返回null。 這是我的代碼如下:

這是服務提供商的注冊方法,其中的config值稱為:

public function register()
{
    $this->app->bind('Datumbox', function($app){
        return new \Carwyn\LaravelDatumbox\Lib\DatumboxAPI(
            $this->app['config']->get('laravel-datumbox::api_key')
        );
     });
}

我遇到的問題是

$this->app['config']->get('laravel-datumbox::api_key')

我從軟件包的src / config目錄中擁有的config.php文件中調用api_key值的部分。

我的配置文件如下:

<?php

return array(

    'api_key' => 'apikeyhere',

);

任何幫助將不勝感激。

您的配置文件應位於:

src/config/config.php

並確保您還擁有:

public function boot()
{
    $this->package('carwyn/laravel-datumbox');
}

還要注意,Laravel將相對於ServiceProvider文件(它在內部使用__DIR__.'../../' )尋找配置文件,地雷的路徑與普通路徑不同,所以我必須:

$this->package('pragmarx/glottos', 'pragmarx/glottos', __DIR__.'/../../../..');

而且我在服務提供者中將此方法用作幫助程序,它不使用get方法,但可能沒有太大區別:

public function getConfig($key)
{
    return $this->app['config']["pragmarx/glottos::$key"];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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