PHP Classes

PHP Config Class from Files in JSON, INI, XML, YAML, NEON or Arrays: Read configuration from multiple file formats

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 145 All time: 9,147 This week: 31Up
Version License PHP version Categories
php-config 1.1.0Freely Distributable7.4PHP 5, Files and Folders, Configuration
Description 

Author

This package can read configuration from JSON, INI, XML, YAML, NEON and arrays.

It provides separate classes that can parse configuration files in all the supported formats.

The classes provide functions to get the configuration values passing keys that specify which values are need by the applications that use these classes.

It is also possible to merge configuration values read from several configuration files.

Picture of Stefan Kientzler
  Performance   Level  
Innovation award
Innovation award
Nominee: 11x

Winner: 6x

 

Documentation

Read and merge configuration files of different formats

Latest Stable Version License Donate Minimum PHP Version Scrutinizer Code Quality codecov

New in Version 1.1.0

  • Added support for YAML and NEON config files
  • New method `setPathSeparator()` to change default path separator ('.')

Overview

This package provides a general interface that grant access to configuration settings of different sources and/or formats.

Following Formats are supported so far:

  • JSON
  • INI (flat INI file like 'usual' windwos INI-Files supporting sections and entries)
  • XML
  • YAML
  • NEON
  • directly from an Array (content may result from a DB query)

In addition, the package offers the possibility of merging several configurations from different sources and / or in different formats into one object, which can then be used by any module.

There is thus the possibility of e.g. Merge global and local or general and user-specific configurations without the processing module having to know where what information comes from.

A NullConfig class is also included that can be used for testing. Also this class can be used if it is desired to make a module working completly independent with default configuration values and optional can have external configuration be passed.

Usage

  1. Create an instance of the class that supports the desired format.
  2. Pass this instance to any module that supports the `ConfigInterface`
  3. inside the module get the needed config settings with `the getXXX($strPath, $default)` - Methods

See ConfigExample.php

For the format of the configuration files see the seeral examples comming with this package.

History

2021-01-05 Version 1.0.0
  • initial Version
2021-08-01 Version 1.1.0
  • Added support for YAML and NEON config files
  • New method setPathSeparator() to change default path separator ('.')

  Files folder image Files (48)  
File Role Description
Files folder imageNette (1 directory)
Files folder imageSKien (2 directories)
Accessible without login Plain text file autoloader.php Aux. Auxiliary script
Accessible without login Plain text file ConfigExample.php Example Example script
Accessible without login Plain text file ExampleConfig.ini Data Auxiliary data
Accessible without login Plain text file ExampleConfig.json Data Auxiliary data
Accessible without login Plain text file ExampleConfig.neon Data Auxiliary data
Accessible without login Plain text file ExampleConfig.xml Data Auxiliary data
Accessible without login Plain text file ExampleConfig.yaml Data Auxiliary data
Accessible without login Plain text file githubwiki.xml Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file MergeExample.php Example Example script
Accessible without login Plain text file MergeExample1.json Data Auxiliary data
Accessible without login Plain text file MergeExample2.json Data Auxiliary data
Accessible without login Plain text file phpstan.neon Data Auxiliary data
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file readme.md Doc. Documentation

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:145
This week:0
All time:9,147
This week:31Up