Login   Register  
PHP Classes
elePHPant
Icontem

File: readme.txt

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Chavo  >  Simple YAML Config Reader  >  readme.txt  >  Download  
File: readme.txt
Role: Documentation
Content type: text/plain
Description: Readme file
Class: Simple YAML Config Reader
Read configuration settings from YAML files
Author: By
Last change:
Date: 2006-12-18 00:22
Size: 2,893 bytes
 

Contents

Class file image Download
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");