Tu peut pas faire çà, tout les tests sur des chaines contenant et, ou etc vont remonter.
If variable(loup) == 1 boum, alors que c’est correcte.
Perso, si tu coche l’option « syntaxe stricte » en config, ben tu sais ce que tu fait. Une option en config c’est pas une couleur de texte … Par default, aucun changement, aucun problème, si ce n’est les soucis actuels comme d’hab.
justement c’est l’objectif : ça teste juste le remplacement … c’est ni plus ni moins que ce que ça fait actuellement…
Si on a des || etc, ça remplace rien… donc on est conforme
Ah ben oui ben vas y, je croyais que tu parlais de mettre çà avec l’option dans le core.
J’essaye de faire un bloc code pour balancer des 10aines de test à la volée dans le moteur
Pourquoi tu dis ça kiboost, naboleo a testé la chaîne ' ou ' pas la chaîne 'ou'. Je vois pas où est le problème avec ce qu’il a proposé pour signaler une incorrection syntaxique ?
j’arrive pas à suivre la, vous partez dans tous les sens
y’a besoin de tester qqchose en php5 au final, ou pas ? Si oui, j’ai réussi à adapter mon dockerfile pour démarrer un container stretch php5 jeedom en qq minutes, ça vous permet de tester les scénarios tant qu’il n’y a pas besoin de plus.
Pour les tests de et / ou / and / or … il faut utiliser les regex avec les limites de mot les \b ça donne ceci par exemple pour le ou : regex101: build, test, and debug regex
$array = ["Variables('Loup', 1)",
"(expr1)ou(expr2)",
"expr1 ou expr2"];
// rechercher ou or et and
$search = ['/\b(ou)\b/', '/\b(or)\b/', '/\b(et)\b/', '/\b(and)\b/'];
// remplacer par || ou bien &&
$repl = [' || ', ' || ', ' && ', ' && '];
foreach( $array as $value ){
echo preg_replace($search, $repl, $value);
}
Quoi qu’il en soit, il serait préférable d’upgrader en php7 et pouvoir utiliser le moteur d’expression de symfony qui est éprouvé
Pour ma part les logs de cette nuit sont propres… Rien cassé sauf ça
PHP Notice: Uninitialized string offset: 0 in /var/www/html/core/class/scenarioExpression.class.php on line 1167
PHP Notice: Uninitialized string offset: -1 in /var/www/html/core/class/scenarioExpression.class.php on line 1167
PHP Notice: Uninitialized string offset: 0 in /var/www/html/core/class/scenarioExpression.class.php on line 1167
PHP Notice: Uninitialized string offset: 0 in /var/www/html/core/class/scenarioExpression.class.php on line 1167
Bon pour retrouver à quoi ça correspond par contre, ça va être plus chaud
Si tu peux valider que symfony v5.1 tourne sur un jeedom php5 au moins on aura la réponse ? çà peux pas faire de mal d’y passer, mais faut que çà tourne partout.
Attention on est sur des fonctions exécutées plusieurs fois par seconde. Le regex est plus lent qu’un str_replace. Faut vraiment garder l’aspect perf dans toutes les modifs.
si c’était plusieurs millions de fois on pourrait hésiter, mais la, « seulement » plusieurs fois par seconde on peut se permettre d’utilier quelque regex je crois non?