29avr. 2008

Accèder aux fichiers de configuration

Voici comment accéder aux fichiers de configuration et les choses à savoir concernant leur syntaxe et leur capacités.

Les données défini dans les fichiers de configurations settings.yml, app.yml, module.yml, logging.yml, and i18n.yml sont accessible via la classe SfConfig.

On utilise cette classe avec les getter et setter. Voici un exemple :

// Retrieve a setting
parameter = sfConfig::get('param_name', $default_value);

// Define a setting
sfConfig::set('param_name', $value);

Le nom du paramètre est composé de plusieurs éléments dans l'ordre suivant :

  • Le nom du paramètre est composé d'un préfixe :

    • sf_ pour settings.yml
    • sf_i18n_ pour i18n.yml
    • sf_logging_ pour logging.yml
    • app_ pour app.yml
    • mod_ pour module.yml
  • La clé parente en minusucle

  • Le nom de la clé en minuscule

A propos des fichiers de configuration

  • Ils sont scriptable en PHP : il sont d'abord parcouru par le parser PHP puis par le parser YAML. On peut les modifier à la volée avec des instructions type code

En pratique

Fichier app.yml :

all:
  version:        1.5
  .general:
    tax:          19.6
  default_user:
    name:         John Doe
  mail:
    webmaster:    webmaster@example.com
    contact:      contact@example.com
dev:
  mail:
    webmaster:    dummy@example.com
    contact:      dummy@example.com

Ce qui donne :

echo sfConfig::get('app_version');
=> '1.5'
echo sfConfig::get('app_tax');
=> '19.6'
echo sfConfig::get('app_default_user_name');
=> 'John Doe'
echo sfConfig::get('app_mail_webmaster');
=> 'dummy@example.com'
echo sfConfig::get('app_mail_contact');
=> 'dummy@example.com'

Les catégorie d'en tête comme all, dev, prod sont ignorées.

aucun commentaire

Fil des commentaires de ce billet

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.