Laservert

CODIFICATION DES formuleS

Généralités
Les formules sont constituées d'un ensemble d'expressions logiques conduisant à une variable finale nommée "$formule".
Elles sont écrites selon la syntaxe du langage PHP et évaluées au moment de l'exécution du code.
Elles permettent de mettre en oeuvre toutes les possibilités du langage PHP, l'usages des structures de contrôle (if, else, while etc..), l'usages des opérateurs logiques(||,&&, and, or, !), l'usages des opérateurs mathémathiques (+,-,/*,/,%), l'usage des opérateurs de comparaison(<,>,!=,==,<=,>=,<>). Toutes équations conduisant à un résultat numérique ou alphanumérique peuvent ainsi être traitées. Les lignes de code selon le langage PHP doivent se terminer par ";". Les variables intermédiaires commencent toujours par "$".
Les formules sont définies dans une interface de gestion FORM_ADMIN.PHP.
Les critères sont:
  TYPE_FORM: Les formules sont de trois types:
         ANALYSE: Associées à un code analyse (idcodana), elles permettent le calcul automatique d’un critère analytique.
         PRODUIT: Associées à un ou plusieurs codes produits (idprod), elles permettent le calcul spécifique d’un critère pour un produit.
         TRANSLAB: Associées à un ou plusieurs modèles Translab, elles permettent le calcul automatique d’une variable dans une opération.
  NATURE: description des opérations traitées.
  formule: Constitue la partie de code PHP mis en oeuvre.
Dans les formules de type ANALYSE ou PRODUIT, les variables correspondant à un résultat analytique pour le code "idcodana" sont introduites par l'expression "res[idcodana]".
Un résultat non trouvé sur idcodana est recherché sur un autre code analyse qui a "idcodana" pour code générique. Le coefficient de conversion permet l'adaptation aux unités.
Dans les formules de type TRANSLAB, les variables correspondant au résultat d’une opération sont introduites par l'expression "oper[numéro_opération]".
Ces variables sont remplacées par leur valeur lors de l'exécution du code.
Exemple de formule simple, sur une seule ligne, avec résultat numérique
Si le code de l'humidité en % est 1, le code de la protéïne en % est 2:
La formule de calcule de la protéïne sur matière sèche peut s'écrire:

$formule = (100 * res[2]) / (100 - res[1]);

(ne pas oublier ";" en fin de ligne).
Exemple de formule, sur plusieurs lignes, avec résultat sous forme de texte
Si le code de l'humidité en % est 1:
Une formule d’évaluation de la teneur en eau peut s'écrire:

$humid = res[1];
if ($humid < 50)
{
$formule ="Humidité basse";
}
else
{
$formule ="Humidité élevée";
}



Copyright (C) 2011 Laservert