Download the PHP package macfja/chain-config without Composer

On this page you can find all versions of the php package macfja/chain-config. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package chain-config

ChainConfig

A configuration loader, where order matters.

Features

The .dist file handling

When the search for the config file to load, the library check if a .dist exist. If it's the case, and there is no file without the .dist part, the file is used.

So, in this example:

test1.ini.dist will be loaded,
but not test2.ini.dist because the file test2.ini exist. (and it's test2.ini that will be loaded)

Order matters

Configuration data are loaded in the order you define. Loader are used in the order you define.

Example:

If you define 02-my-main-path to be the first path, and 01-my-secondary-path as the second path. If you ask of a a.* configuration then the library will first load 02-my-main-path/a.php and after 02-my-main-path/a.ini. Later loading don't override already loaded data, later loading only add missing key/value.

The order of the reader also matter. In the previous structure, if you define the Xml reader before the Ini loader, then, if you ask a b.* config, the first file to be load is 02-my-main-path/b.xml and after the 02-my-main-path/b.ini file.

Dynamics data

The library expose two callback functionality. One for the key, the other for the value. Before the key is send to the library, it can be changed by one or more callback function. Same thing for the value, just before returning it, the library will send the value to all registered callback.

This can be useful for change a key or a value depending on another configuration or an environment depends variable. See example below

Installation

The simplest way to install the library is to use Composer:

Usage

Create a Config object:

Read a configuration:

Detailed class API

Example of usage

Reader Format

More information in Readers documentation

Limitation

You can not use the directory separator (/ on Unix/Linux, \ on Windows) or the path separator (: on Unix/Linux) in the first part of the key.

Additional Classes

You can found two class that ChainConfig use to work:


All versions of chain-config with dependencies

PHP Build Version
Package Version
Requires php Version >=5.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package macfja/chain-config contains the following files

Loading the files please wait ....