Zend_Config_Json
Aperçu
» JSON est un acronyme pour "JavaScript Object
Notation"; compatible avec JavaScript, c'est un format d'échange de données inter-langage.
Zend_Config_Json est une extension de
Zend_Config permettant l'utilisation du format JSON.
QuickStart
Voici une version JSON de la configuration d'une application standard.
{
"production":{
"phpSettings":{
"display_startup_errors": false,
"display_errors": false
},
"includePaths":{
"library": "APPLICATION_PATH/../library"
},
"bootstrap":{
"path": "APPLICATION_PATH/Bootstrap.php",
"class": "Bootstrap"
},
"appnamespace": "Application",,
"resources":{
"frontController":{
"controllerDirectory": "APPLICATION_PATH/controllers",
"moduleDirectory": "APPLICATION_PATH/modules",
"params":{
"displayExceptions": false
}
},
"modules":[],
"db":{
"adapter": "pdo_sqlite",
"params":{
"dbname": "APPLICATION_PATH/../data/db/application.db"
}
},
"layout":{
"layoutPath": "APPLICATION_PATH/layouts/scripts/"
}
}
},
"staging":{
"_extends": "production"
},
"testing":{
"_extends": "production",
"phpSettings":{
"display_startup_errors": true,
"display_errors": true
},
},
"development":{
"_extends": "production",
"phpSettings":{
"display_startup_errors": true,
"display_errors": true
},
"resources":{
"frontController":{
"params":{
"displayExceptions": true
}
}
}
}
}
Pour l'utiliser, instanciez simplement Zend_Config_Json en lui
indiquant le chemin vers ce fichier ainsi que la section à charger. Par défaut,
les constantes trouvées dans les valeurs seront substituées par leurs valeurs.
$config = new Zend_Config_Json(
APPLICATION_PATH . '/configs/application.json',
APPLICATION_ENV
);
Une fois instancié, l'utilisation est classique, comme un objet de configuration.
$db = Zend_Db::factory($config->resources->db);
WarningUtilisez les constantes avec précaution
JSON possède une structure stricte concernant les types de données.
Ainsi, vous devez vous assurer que vos constantes sont utilisées correctement. Pour les
constantes de type chaine de caractères, encapsulez les de doubles quotes (""). Pour
les constantes d'autres types, vous pouvez omettre les quotes, mais soyez alors
certains qu'elles ne retournent pas des chaines, sinon vous rencontrerez des erreurs
d'analyse. Si vous doutez, encapsulez le contenu dans des chaines à doubles quotes.
Options de configuration
Les options suivantes peuvent être passées comme clés au troisième paramètre
$options du constructeur.
Zend_Config_Json Options
-
- allow_modifications/allowModifications
-
Par défaut, Zend_Config est en lecture seule.
Passer cette option à true autorisera la modification
de l'objet.
-
- skip_extends/skipExtends
-
Par défaut, à chaque fois qu'une section étend une autre,
Zend_Config regroupera cette section avec son parent.
Utiliser le booléen true pour cette option désactivera ce
comportement, la configuration de la section sera telle-quelle.
-
- ignore_constants
-
Par défaut, Zend_Config_Json remplacera toutes les
constantes trouvées dans le fichier par leurs valeurs respectives. Passez
le booléen true à cette option pour désactiver cette
fonctionnalité.
Notez qu'ignorer les constantes peut mener à des erreurs d'analyse, en particulier
si les constantes sont utilisées pour des entiers, des flottants ou des valeurs
booléennes. La manière la plus sûre est d'encapsuler les constantes dans des
quotes.
Méthodes disponibles
-
-
__construct
(
$json, $section = null, $options = false
)
-
Constructeur. $json doit pointer vers un fichier JSON valide.
Si $section est précisé, seule la section indiquée sera analysée.
$options est documenté dans la section options.
-
-
setIgnoreConstants
(
$flag
)
-
Cette méthode statique est utilisée pour changer le
comportement global de l'analyse des constantes trouvées dans les fichiers
JSON. Par défaut, les constantes sont remplacées par leurs valeurs. Passer
le booléen true à cette méthode surchargera ce
comportement. (Vous pouvez changer le comportement par instance en utilisant
l'option ignore_constants.)
-
-
ignoreConstants
(
)
-
Cette méthode statique retourne la valeur actuelle
de ignore_constants.
|
|