Carnet Wiki

Accéder à l’environnement

Version 3 — October 2015 JLuc

Comment accéder à une valeur de l’environnement dans un critère ou une balise ?

Valable en 2015

CreerUnCritere avec pipeline pre_boucle | Créer un nouveau critère

Si on a besoin de tester un élément de l’env on y accède par la pile

Le contexte courant Ex 2 : Tester si une rubrique est accessible à un moment donné via $ Pile[0 ]. positive ou = - 1
<
code > $boucle->where [] = array(“’>’”, “’articles.id_rubrique’”, “’\”0\“’”);
$boucle->where[]
= array(“’=’”, “’articles.id_rubrique’”, “’\”-1\“’”);

Lorsque le compilateur a besoin, pour un critère par exemple, d’accéder à la valeur de la rubrique, il devra échapper ce code puisqu’il devra être exécuté non à la compilation, mais lors de l’exécution de la boucle.

Ex 1 : Accéder à la valeur de id_rubrique :
$env_id = "\$Pile[0]['id_rubrique']";

Tester si sa valeur est positive :

  $boucle->where[] = array(
        "'?'", 
        "(isset($env_id)?(is_array($env_id)?count($env_id):strlen($env_id)):'')", 
        "''", 
        "'articles.id_rubrique>0'");

Incertitude : pourquoi tester si complexement in_array et count et strlen ici ?

CreerUnCritere avec pipeline pre_boucle | Créer un nouveau critère