Skip to content

$app.getConfig

Description

Retourne la propriété correspondant à la clé passée en paramètre.

Par défaut, la méthode retourne une valeur de type string. Veuillez donc bien prendre garde au type de valeurs que vous souhaitez stocker dans la config et à la manière de traiter cette valeur.

À titre d'exemple, prenons le cas de l'entrée suivante du config.xml:

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<config>
    <admin>
        ...
        <debuggerPort>8000</debuggerPort>
        ...
    </admin>
</config>

Un test du genre $app.getConfig("admin.debuggerPort") >= 10000 sera considéré comme true, ce qui peut être contre intuitif. Cela vient du fait que la méthode $app.getConfig retourne une valeur textuelle. Le test "8000" >= "10000"est donc vrai (car le caractère '8' est >= '1').

Il existe deux façons de traiter ce cas de façon plus conforme à la logique.

  1. La première façon consiste à effectier un cast explicite de la valeur de retour. Ainsi, le test (number) $app.getConfig("admin.debuggerPort") >= 10000 retournera le résultat false attendu.

  2. La seconde façon consiste à simplement ajouter une valeur par défaut de type numérique. Par exemple, $app.getConfig("admin.debuggerPort", 0) >= 10000 sera également false. Cela vient du fait que la méthode détecte que la valeur par défaut est de type numérique et elle tente d'appliquer le même type à sa valeur de retour.

Syntaxe

$app.getConfig( property [ , defaultValue ] )

Paramètres

property string
Nom de la propriété à récupérer. La propriété doit avoir la forme section.property, section[name].property[name], section.property[name] ou section[name].property[name]
defaultValue any
Facultatif. Valeur par défaut à retourner dans le cas où la propriété demandée n'existe pas; si elle existe mais est vide, c'est une chaîne vide qui est retournée

Retour

Retourne la valeur de la propriété demandée. La valeur par défaut est retournée si la propriété n'est pas définie dans la configuration de l'application.

Type de valeur en sortie

Attention, le type de la valeur de retour peut varier selon le type d'utilisation de la méthode. Voir description et exemples ci-après.

Exemple

// récupère la valeur de la propriété printService/key du config.xml
$app.getConfig("printService.key");

// variante avec une valeur par défaut
$app.getConfig("printService.key", "abcxyz);

Exemples démontrant l'impact de la valeur par défaut sur le type de la valeur de retour.

1
2
3
typeof $app.getConfig("admin.debuggerPort");          // -> string
typeof $app.getConfig("admin.debuggerPort", "8000");  // -> string
typeof $app.getConfig("admin.debuggerPort", 8000);    // -> number