Download the PHP package ibrostudio/laravel-neon-config without Composer
On this page you can find all versions of the php package ibrostudio/laravel-neon-config. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ibrostudio/laravel-neon-config
More information about ibrostudio/laravel-neon-config
Files in ibrostudio/laravel-neon-config
Package laravel-neon-config
Short Description Add Neon config values to Laravel config'
License MIT
Homepage https://github.com/ibrostudio/laravel-neon-config
Informations about the package laravel-neon-config
Laravel Neon Config
Neon config management for Laravel packages.
The goal of this package is to provide a config file available outside the context of a Laravel app.
For example : a package used as a dev dependency of another package.
This package allows you to use a .neon file to overwrite a Laravel config file.
Installation
Add the trait UseNeonConfig
to your package service provider and define your "neon to config" mapping:
If your package uses PackageServiceProvider from Spatie's package-skeleton-laravel and you are only dealing with a single config file, you can omit the name parameters:
Usage
Creating a .neon file at the root of the package that uses yours overwrites your package configuration.
config/your-package.php:
your-package.neon:
Values are merged by keys, which means : values with the same keys are replaces, omitted keys are kept, new keys are added.
Casting and dynamic values
Enums
If your config uses Enums, it is possible to reflect and cast it in the neon file.
config/your-package.php:
At the root of your package, create a file named neon-config.neon:
neon-config.neon:
Then, the overwrite is written in plain text with the value of the enum to use: your-package.neon:
Now, calling config('your-package.key1')
gives an enum \Namespace\SomeEnumClass::NEW_VALUE instance.
Array of Enums
config/your-package.php:
neon-config.neon:
your-package.neon:
Dynamic values from other config or env variables
config/your-package.php:
It is possible to keep the usage of the config() and env() methods and give the possibility of overwriting their keys:
neon-config.neon:
your-package.neon:
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-neon-config with dependencies
illuminate/contracts Version ^10.0||^11.0
nette/neon Version ^3.4
spatie/laravel-data Version ^4.9
spatie/laravel-package-tools Version ^1.16