aedart/config

This package is abandoned and no longer maintained. No replacement package was suggested.

Configuration utilities

4.1.0 2018-10-28 10:23 UTC

This package is auto-updated.

Last update: 2022-02-01 13:01:29 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

Abandoned - Package contains various configuration utilities.

Contents

How to install

This package uses composer. If you do not know what that is or how it works, I recommend that you read a little about, before attempting to use this package.

composer require aedart/config

Parsers

Reference Parser

\Aedart\Config\Parsers\ReferenceParser

Able of parsing "references" in values.

<?php

use Aedart\Config\Parsers\ReferenceParser;
use Illuminate\Config\Repository;

// Given the following array
$items = [
    'db.driver'         => '{{defaults.driver}}',
    'defaults.driver'   => 'abc'
];
 
// When it is parsed
$repo   = new Repository($items);
$config = (new ReferenceParser())->parse($repo);
 
// The 'db.driver' key is parsed to the value of 'defaults.driver'
echo $config->get('db.driver'); // output 'abc'

Warning: Parsing references can cost a lot of processing power. You should cache the result whenever it is possible!

For further references, please consider the unit test; tests\unit\parsers\ReferenceParserTest.php

Contribution

Have you found a defect ( bug or design flaw ), or do you wish improvements? In the following sections, you might find some useful information on how you can help this project. In any case, I thank you for taking the time to help me improve this project's deliverables and overall quality.

Bug Report

If you are convinced that you have found a bug, then at the very least you should create a new issue. In that given issue, you should as a minimum describe the following;

  • Where is the defect located
  • A good, short and precise description of the defect (Why is it a defect)
  • How to replicate the defect
  • (A possible solution for how to resolve the defect)

When time permits it, I will review your issue and take action upon it.

Fork, code and send pull-request

A good and well written bug report can help me a lot. Nevertheless, if you can or wish to resolve the defect by yourself, here is how you can do so;

  • Fork this project
  • Create a new local development branch for the given defect-fix
  • Write your code / changes
  • Create executable test-cases (prove that your changes are solid!)
  • Commit and push your changes to your fork-repository
  • Send a pull-request with your changes
  • Drink a Beer - you earned it :)

As soon as I receive the pull-request (and have time for it), I will review your changes and merge them into this project. If not, I will inform you why I choose not to.

Acknowledgement

  • Laravel , Taylor Otwell; ...Never thought to use native php arrays as configuration files before I started using Laravel!

Versioning

This package follows Semantic Versioning 2.0.0

License

BSD-3-Clause, Read the LICENSE file included in this package