cocoon-projet / config
Lit les valeurs de multiple fichiers de configuration
Requires
- php: ^8.0
- symfony/finder: ^3.4
Requires (Dev)
This package is auto-updated.
Last update: 2024-03-23 09:02:59 UTC
README
introduction
cocoon-projet/config est une librairie php qui mappe plusieurs fichiers de configuration pour stocker les paramètres dans un unique tableau php. les paramètres sont retournés au format: dot notation ex: $config->get('app.url');
pour un fichier php nommé app.php contenant le tableau return [ 'url' => 'http://www.monsite.com']
Pré-requis
Php version 7.0.0 ou plus
installation
via composer
composer require cocoon-projet/config
Insertion dans votre composer.json
"require": {
"cocoon-projet/config": "^0.1"
}
Utilisation
Créer un dossier pour stocker vos fichiers de configuration. Les fichiers doivent être au format nom_du_fichier.php
exemple:
- config/
- app.php
- database.php
contenu du fichier app.php
<?php return [ 'url' => 'http://www.monsite.com', 'debug' => true ]
contenu du fichier database.php
<?php> return [ 'engine' => 'mysql', 'mysql' => [ 'dsn' => 'mysql:host=localhost;dbname=testdb', 'user' => 'username', 'password' => 'password' ], 'sqlite' => [ 'dsn' => 'sqlite:/path/mydb.sqlite' ] ]
Usage
<?php require 'vendor/autoload.php'; use Cocoon\Config\Config; use Cocoon\Config\LoadConfigFiles; // On mappe les fichiers de configuration et on enregistre les paramètres dans un tableau php. $items = LoadConfigFiles::load('path/to/the/config/folder'); // On initialise la classe Config et on charge le tableau php contenant les paramètres des fichiers de configuration. $config = Config::getInstance($items); // Maintenant on peut retourner les paramètres de configuration // format dot notation: filename.key ou filename.key1.key2 $config->get('app.url'); // http://www.monsite.com $config->get('database.mysql.dsn'); // mysql:host=localhost;dbname=testdb
Note: Retour de valeur null ou donner une valeur par défaut.
exemple:
<?php // le paramètre mail n'éxiste dans pas dans le fichier app.php // la valeur retournée est null $config->get('app.mail'); // null // si une valeur par défaut est indiquée et que le paramètre n'éxiste pas, la valeur par défaut est retournée. $config->get('app.mail', 'adresse@gmail.com'); // adresse@gmail.com
Note: Vérifier l'existence d'un paramètre.
<?php if ($config->has('app.mail')) { $mail = $config->get('app.mail'); }