-
- Téléchargements
Ce perdant de PHP étant incapable de donner la ligne d'une faute de syntaxe...
Ce perdant de PHP étant incapable de donner la ligne d'une faute de syntaxe sans provoquer une erreur fatale, on fait désormais retourner à {{{public_compiler}}} non plus la concaténation des fonctions compilées, mais le tableau des boucles, contenant leur code compilé et leur contexte de compilation (plus le code de a fonction pincipale, vu comme une fausse boucle). Cela permet à {{{public_composer}}}: * d'executer {{{if (@eval("return true; $code")) }}} sur le code de chaque fonction isolément, pour ne pas perdre la main en cas d'erreur de syntaxe et dire dans quelle boucle l'erreur se produit; * de donner le contexte de compilation de la fonction fautive au débusqueur, qui peut ainsi construire ses liens de navigation, en particulier le lien "code" de la boucle fautive, ce qui permet enfin au débusqueur d'afficher du code PHP fautif, qu'on pourra éventuellement copier dans un fichier pour relecture par l'interpréte PHP pour refaire apparaître, mais hors site, le numéro de ligne. J'aurais bien aimé dispenser de cette dernière manipulation, mais ça semble définitivement impossible en PHP. Au moins, on n'a plus à trafiquer composer.php et/ou lire le cache des squelettes compilés pour localiser l'erreur, surtout quand on n'a pas les [http://videos.spip.org/spip.php?article115 outils de Cédric]. La spécification du résultat de la fonction {{{public_compiler}}} est donc changée, mais ça ne concerne que ceux qui manipulent le code compilé explicitement.
parent
43f542b1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Chargement en cours
Veuillez vous inscrire ou vous se connecter pour commenter