在laravel 5中使用package的配置文件

时间:2015-06-08 07:33:16

标签: laravel package config

我有一个基于laravel 5包的应用程序。在包中这是我的结构:

Packages
       -vendor
             -xxx
                 -public
                 -src
                     -config
                           -config.php
                     -Vendor
                          -Xxx
                             -Controllers
                             -Models
                             -Repositories
                             XxxServiceProvider.php
                 -views
                 routes.php

**以上是我的包结构:xxx是包名。

在这个config / config.php中我有我在这个包中使用的配置。

如何访问此配置文件以使用其中的值?

我在XxxServiceProvider.php中添加了以下代码

$this->publishes([   __DIR__.'/xxx/src/config/config.php'=>config_path('xxx/config.php'),
             ]);

和php artisan供应商:发布,它给出了以下错误: 找不到路径:

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

如果您的包结构类似于下面那个,那么您可以像这样加载包的配置文件。尝试根据自己的结构进行自定义。

/xxx
    |_ /src
        |_ /Config
            - xxx.php
        - XxxServiceProvider.php

添加到XxxServiceProvider.php

public function boot() {

    // Allow your user to publish the config
    $this->publishes([
        __DIR__.'/Config/xxx.php' => config_path('xxx.php'),
    ], 'config');

}


public function register() {

    // Load the config file and merge it with the user's (should it get published)
    $this->mergeConfigFrom( __DIR__.'/Config/xxx.php', 'xxx');
}