PHP Classes
elePHPant
Icontem

PHProp: Access INI configuration files as objects

Recommend this page to a friend!
  Info   View files View files (11)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2014-07-04 (2 years ago) RSS 2.0 feedNot enough user ratingsTotal: 418 All time: 6,068 This week: 949Up
Version License PHP version Categories
phprop 1.1GNU General Publi...5.3PHP 5, Configuration
Description Author

This class can be used to access INI configuration files as objects.

It can parse a given INI file and allow accessing the values of the configuration properties as variables of an object or entries of an array.

An additional class provides the Countable and Array access file, so the configuration entries can be traversed like arrays.

It is possible to create and use hierarchical ini files.

Picture of Amin Saeidi
Name: Amin Saeidi is available for providing paid consulting. Contact Amin Saeidi .
Classes: 3 packages by
Country: United States United States
Age: 28
All time rank: 25328 in United States United States
Week rank: 251 Up21 in United States United States Up
Innovation award
Innovation award
Nominee: 2x

Winner: 1x

Details
#Description
This package facilitates parsing and reading configurations from ini files.
To create a hierarchical ini file, the only thing to do is to write keys seperated by a delimiter
(by default '.') to specify parent and child. For example:

    [application]
    title="title"
    db.username="username"
    db.password="123"

You can also use a value by it's key in another configuration value:

    [application]
    url=http://localhost/my-app
    login=${url}/login

Note: ${url} assumes *url* key is in the current section, it can be written like ${application.url}.
If you want to refer to ${url} in another section (e.g. global), you should mention it as a prefix e.g. ${global.url}.  
If you are using multi-level configuration keys (e.g. application.config.db.username), write the root as prefix, e.g. ${*prefix*.variable}.

#Features
- Easy to use
- Convenient Integration
- Support for hierarchical data structure
- Section inheritance
- Array configs
- Key-value binding

#How to use
Pass the ini configuration path to the *parse* method:

    $ini = PHProp::parse("path/to/ini");

If your scope delimiter is not '.', give your delimiter as the second parameter:

    $ini = PHProp::parse("path/to/ini", "/");

After getting the object, the username can be accessed easily:

    $ini->application->db->username 

or

    $ini['application']['db']['username']

To get the number of application's children:

    count($ini->application);

See the samples for more.
  Files folder image Files  
File Role Description
Files folder imageexamples (4 files)
Files folder imagesamples (4 files)
Files folder imagesrc (1 directory)
Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file README.md Doc. ReadMe

  Files folder image Files  /  examples  
File Role Description
  Plain text file example2.php Example example script
  Plain text file example3.php Example example script
  Plain text file sample2.ini Data example ini
  Plain text file sample3.ini Data example ini

  Files folder image Files  /  samples  
File Role Description
  Plain text file sample1.ini Data Auxiliary data
  Plain text file sample1.php Example Example script
  Plain text file sample2.ini Data Auxiliary data
  Plain text file sample2.php Example Example script

  Files folder image Files  /  src  
File Role Description
Files folder imagePhprop (1 file)

  Files folder image Files  /  src  /  Phprop  
File Role Description
  Plain text file Phprop.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 63%
Total:418
This week:0
All time:6,068
This week:949Up