Laravel - Package Development - Configuration
Typically, you will need to publish your package's configuration file to the application's config
directory. This will allow users of your package to easily override your default configuration options. To allow your configuration files to be published, call the publishes
method from the boot
method of your service provider:
/**
* Bootstrap any package services.
*
* @return void
*/
public function boot()
{
$this->publishes([
__DIR__.'/../config/courier.php' => config_path('courier.php'),
]);
}
Now, when users of your package execute Laravel's vendor:publish
command, your file will be copied to the specified publish location. Once your configuration has been published, its values may be accessed like any other configuration file:
$value = config('courier.option');
You should not define closures in your configuration files. They can not be serialized correctly when users execute the config:cache
Artisan command.