PHP Classes

File: readme.txt

Recommend this page to a friend!
  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: 17 years ago
Size: 2,893 bytes


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 - 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 <-script is located at <- script is located at a host using subdomain : 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: SPYC (YAML parser for PHP): 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");