Php 尝试从laravel中的包中获取配置值返回null

Php 尝试从laravel中的包中获取配置值返回null,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在为Laravel4创建一个包,它将有一个配置文件,用户可以在其中输入该包正在使用的服务的api密钥。但是,我在访问配置值时遇到问题。每当我尝试访问该值时,它总是返回null。下面是我的代码: 这是服务提供商的注册方法,其中调用配置值: public function register() { $this->app->bind('Datumbox', function($app){ return new \Carwyn\LaravelDatumbox\Li

我正在为Laravel4创建一个包,它将有一个配置文件,用户可以在其中输入该包正在使用的服务的api密钥。但是,我在访问配置值时遇到问题。每当我尝试访问该值时,它总是返回null。下面是我的代码:

这是服务提供商的注册方法,其中调用配置值:

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_键值

我的配置文件如下:

<?php

return array(

    'api_key' => 'apikeyhere',

);

您的配置文件应位于:

src/config/config.php
并确保您还拥有:

public function boot()
{
    $this->package('carwyn/laravel-datumbox');
}
还请注意,Laravel将查找与ServiceProvider文件相对应的配置文件(它在内部使用
\uuu DIR\uu.../../'
),地雷的路径与正常路径不同,因此我必须:

$this->package('pragmarx/glottos', 'pragmarx/glottos', __DIR__.'/../../../..');
我在我的服务提供商中使用了这个方法作为助手,它不使用
get
方法,但它可能不会有太大的区别:

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

配置文件在哪里?很抱歉,文件路径与您所说的相同,我在最初的帖子中出错了。我的服务提供者中也有这个方法。package()方法中的第二个参数应该指向哪里?直接到config.php文件还是到src目录?由于我的提供者文件不在通常的位置,我想您已经了解了一些情况。非常感谢,我在$this->package部分添加了第二个和第三个参数,它返回的值为罚款。你能告诉我你在哪里读到这个包方法吗?我不同意把ServiceProvider放在我的主类的同一目录中,所以(联合国)幸运的是,我不得不挖掘源代码以找到一种方法。:)这在拉维5中发生了变化吗?我正在将运行laravel 4的应用程序转换为5,现在我的配置无法正常工作。