schnittstabil / composer-extra
Get namespaced configuration from composer.json `extra`
Installs: 15 722
Dependents: 10
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.6.0
- schnittstabil/config_merge: ^2.0
- schnittstabil/get: ^2.0 || ^3.0
- schnittstabil/json-decode-file: ^2.0
Requires (Dev)
- schnittstabil/phpunit-starter: ^6.0 || ^7.0
README
Get namespaced configuration from composer.json
extra
.
Install
$ composer require schnittstabil/composer-extra
Typical Usage
End User
{ "name": "end-user/project", "require": { "you/your-awesome-library": "*" }, "extra": { "you/your-awesome-library": { "unicorns": 42 } }, }
Your Library
require __DIR__.'/vendor/autoload.php'; # get end-user configuration $config = new Schnittstabil\ComposerExtra\ComposerExtra('you/your-awesome-library'); $config->get('unicorns') //=> int(42)
API
namespace Schnittstabil\ComposerExtra; /** * Get namespaced configuration from `composer.json`. */ class ComposerExtra { /** * Create a new ComposerExtra. * * @see https://github.com/schnittstabil/get Documentation of `Schnittstabil\Get\getValue`. * * @param string|int|mixed[] $namespace a `Schnittstabil\Get\getValue` path * @param mixed $defaultConfig default configuration * @param string $presetsPath presets path (w/o namespace) * * @throws \KHerGe\File\Exception\ResourceException * @throws \Seld\JsonLint\ParsingException */ public function __construct($namespace = array(), $defaultConfig = null, $presetsPath = null); /** * Get configuration value. * * @see https://github.com/schnittstabil/get Documentation of `Schnittstabil\Get\getValue`. * * @param string|int|mixed[] $path a `Schnittstabil\Get\getValue` path * @param mixed $default default value if $path is not valid * * @return mixed the value determined by `$path` or otherwise `$default` */ public function get($path = array(), $default = null); /** * Get configuration value. * * @see https://github.com/schnittstabil/get Documentation of `Schnittstabil\Get\getValueOrFail`. * * @param string|int|mixed[] $path a `Schnittstabil\Get\getValueOrFail` path * @param mixed $message exception message * * @throws \OutOfBoundsException if `$path` is not valid * * @return mixed the value determined by `$path` */ public function getOrFail($path = array(), $message = null); }
License
MIT © Michael Mayer