FuelPHP - Configuration

Dans ce chapitre, nous allons comprendre comment configurer une application FuelPHP. Par défaut, les fichiers de configuration sont stockés dans lefuel/app/configdossier. La configuration principale de l'application estfuel/app/config/config.php. La configuration est spécifiée à l'aide du tableau associé de PHP.

Aperçu

Par défaut, tous les fichiers de configuration par défaut sont définis dans fuel/core/configdossier. Pour remplacer une configuration par défaut, ajoutez la clé correspondante dans le/fuel/app/config/config.phpfichier et modifiez la valeur. Nous pouvons utiliser la «notation par points» pour simplifier les tableaux multidimensionnels. Par exemple, les configurations suivantes ont le même objectif (charger des packages spécifiés).

array("always_load" => array("packages" => array( ... ) ) ); 
always_load.packages = array( ... );

La configuration peut être regroupée par objectif et spécifiée à l'aide de différents fichiers tels que db.php pour la configuration de la base de données, package.php pour la gestion des packages, etc.

Type de format de configuration

FuelPHP est assez flexible et fournit un format différent pour spécifier la configuration. Le format de configuration par défaut est PHP utilisant un tableau php. Les autres options sont -

INI - Configuration textuelle simple prise en charge par de nombreux logiciels, y compris le langage PHP lui-même.

[group]
key = value

YAML - Gestion de la configuration facile à comprendre, basée sur l'indentation et lisible par l'homme.

group:
   key: value

JSON - Format de fichier facile à comprendre et le plus utilisé par les développeurs.

{ 
   "group" : 
   { 
      "key": "value" 
   } 
}

Memcached- Stocke la configuration dans un serveur Memcached. Les détails du serveur memcached peuvent être spécifiés dans le fichier de configuration principal,fuel/app/config/config.php en utilisant config.memcached entrée.

DB- Stocke la configuration dans le système RDBMS. La structure de table de la table de configuration est la suivante.

CREATE TABLE IF NOT EXISTS `config` ( 
   `identifier` char(100) NOT NULL, 
   `config` longtext NOT NULL, 
   `hash` char(13) NOT NULL, 
   PRIMARY KEY (`identifier`) 
)

Les détails de la base de données et de la table peuvent être spécifiés dans le fichier de configuration à l'aide des entrées config.database et config.table_name .

Environnement

L'environnement permet à FuelPHP de fonctionner dans différents modes en chargeant différentes configurations. FuelPHP prend en charge l'environnement suivant.

  • Development - \ Fuel :: DEVELOPMENT définit le mode de développement

  • Production - \ Fuel :: PRODUCTION définit le mode de production

  • Test - \ Fuel :: TEST définit le mode de test

  • Staging - \ Fuel :: STAGING définit le mode de mise en scène

FuelPHP prend également en charge la création d'un nouvel environnement. Cela permettra à chaque développeur d'avoir son propre paramètre de configuration et de l'activer lors du codage et du test de l'application. La configuration d'un environnement spécifique peut être ajoutée en créant simplement un dossier avec le nom de l'environnement (exemple: test) et en plaçant le fichier de configuration dans le dossier nouvellement créé, comme suit.

. ├── config.php 
├── db.php 
├── development 
│   └── db.php 
├── production 
│   └── db.php 
├── routes.php 
├── staging 
│   └── db.php
└── test 
    └── db.php  
4 directories, 7 files

Définissez votre environnement

Il existe trois façons de configurer votre environnement.

Option 1- Définissez l'environnement avec les variables d'environnement du serveur Web. Ajoutez le code suivant dans la section hôte virtuel danshttpd.conffichier du serveur Web Apache. Il peut être ajouté.htaccess fichier ainsi.

SetEnv FUEL_ENV production

Option 2 - Définir l'environnement avec le fichier d'amorçage FuelPHP, /fuel/app/bootstrap.php

Fuel::$env = (isset($_SERVER['FUEL_ENV']

Option 3 - Définir l'environnement à l'aide d'huile

$ env FUEL_ENV = production php oil -v

Il produit le résultat suivant.

Fuel: 1.8 running in "production" mode