PHP Classes
elePHPant
Icontem

Simple YAML Config Reader: Read configuration settings from YAML files

Recommend this page to a friend!

  Author Author  
Name: Chavo <contact>
Classes: 1 package by
Country: Bulgaria Bulgaria
Age: 39
All time rank: 221817 in Bulgaria Bulgaria
Week rank: 997 Up7 in Bulgaria Bulgaria Up


  Detailed description   Download Download .zip .tar.gz   Install with Composer Install with Composer  
This package can be used to read configuration settings from file YAML format.

It uses a separate class named SPYC, written by Chris Wanstrath, to parse YAML configuration files and returns an associative array with pairs of configuration options and the respective values.

The configuration class uses the singleton pattern, so a configuration file is loaded and parsed only once per script.

It automatic switches between configuration files depending on the machine the script is running.

It also checks the request query string for language parameter and automatically loads the contents of the relevant localization file into a global variable for easier use.

Details
{startverticalbanner}
This class reads site configuration settings from a file in YAML format and returns them as an array of strings. It uses the Singleton pattern, so the file is loaded and parsed only once per script, thus increasing its performance. The Settings class has the following features:

 - Reading and parsing configuration files in YAML format (uses SPYC class by Chris Wanstrath;
 - Automatic switching of the configuration files depending on the machine the script is running;
 - Checks the query string for language parameter and automaticaly loads the contents of the relevant localization file into a global variable for easier use (useful for multilanguage sites)
 - Very easy to use (all you need to do is to create an instance; it will contain all the settings right away);
 - Can be instantiated many times; the actual loading and parsing of the configuration files will take place only once per script.

Configuration and localization file format:
  Configuration and localization files must be in a valid YAML format (see http://www.yaml.org - they say it takes 5 minutes to learn ). For security reasons the configuration file is saved with .PHP extension and its contents is enclosed both in YAML and PHP comment tags. This prevents displaying file contents if someone guesses its url.

 FORMAT OF THE CONFIGURATION FILE:

  ---
  <key1>:<value>
  <key2>:
    <value1>
    <value2>
    .. 
   

  LOCATION OF THE FILES
  All configuration and localization files should be located in the same folder as the settings class file. 
  
  FILE NAME OF THE FILES
  Configuration file names consist of the name (or domain name) of the hosting server + .yml extension 

    Examples of configuration file names:
     localhost.yml  <- commonly used on developer machines
     someserver.com.yml  <-script is located at http://www.someserver.com 
     myapp.someserver.com.php  <- script is located at a host using subdomain : http://myapp.someserver.com

  Localization file names consist of the language code + .yml extension.
     
     Examples of localization file names:
       en.yml - file containing English localization strings
       fr.yml - file containing French localization strings, etc.

     For the script to be able to locate the localization files, their respective codes must be listed in the languages section of the main configuration file, 
     or in this example:
      
      ... other configuration settings ...

      languages:
        en:English
	fr:French

      ... other configuration settings ...
      


RESOURCES

  Information on the YAML format: http://www.yaml.org
  SPYC (YAML parser for PHP): http://spyc.sourceforge.net

EXAMPLE USAGE

  //create an instance of the class
  $settings = Settings::singleton();
  //now you can get all the settings right away
  echo $settings->get("db_name");

  Classes of Chavo  >  Simple YAML Config Reader  >  Download Download .zip .tar.gz  >  Support forum Support forum (1)  >  Blog Blog  >  RSS 1.0 feed RSS 2.0 feed Latest changes  
Name: Simple YAML Config Reader
Base name: yamlconfig
Description: Read configuration settings from YAML files
Version: 1.0.0
PHP version: 5.0
License: GNU General Public License (GPL)
All time users: 1040 users
All time rank: 3439
Week users: 0 users
Week rank: 781 Equal
 
  Groups   Rate classes User ratings   Trackback  
  Applications   Related pages   Files Files  

  Groups  
Group folder image PHP 5 Classes using PHP 5 specific features View top rated classes
Group folder image Configuration Configuration formats parsing and generation View top rated classes


  User ratings  
Not enough user ratings

  Pages that reference this package  
Extending PHP
Today, an article was posted on Zendís Developer zone that caught my eye: Using YAML with PHP and PECL...

Latest pages that reference packages Latest pages that reference packages


  Applications that use this package  
No pages of applications that use this class were specified.

Add link image If you know an application of this package, send a message to the author to add a link here.


  Related pages  
YAML Specifications
Information on the YAML format
SPYC parser
YAML Parser Class for PHP

  Files folder image Files  
File Role Description
Plain text file settings.class.php Class Main Class
Accessible without login Plain text file localhost.yml Data Sample configuration file
Accessible without login Plain text file example.php Example Example script
Plain text file spyc.php Class YAML parser class
Accessible without login Plain text file en.yml Data Sample localization file
Accessible without login Plain text file fr.yml Data Sample localization file
Accessible without login Plain text file readme.txt Doc. Readme file

Install with Composer Install with Composer - Download Download all files: yamlconfig.tar.gz yamlconfig.zip
NOTICE: if you are using a download manager program like 'GetRight', please Login before trying to download this archive.