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.
Démarrage rapide
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.
span style="color: #ff0000;">'/configs/application.json'
Une fois instancié, l'utilisation est classique, comme un objet de configuration.
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 chaîne de caractères, encapsulez les
avec des doubles quotes (""). Pour les constantes d'autres types, vous pouvez
omettre les quotes, mais soyez alors certains qu'elles ne retournent pas des
chaînes, sinon vous rencontrerez des erreurs d'analyse. Si vous doutez,
encapsulez le contenu dans des chaînes à 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 être une chaîne de caractères
JSON valide ou 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.
|
|