schnittstabil/composer-extra

Get namespaced configuration from composer.json `extra`

2.1.0 2018-03-18 16:08 UTC

This package is auto-updated.

Last update: 2024-04-26 01:14:02 UTC


README

SensioLabsInsight

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