Le langage de script de ColdFusion
ColdFusion définit le tag CFScript qui peut être utilisé
pour écrire des scripts en utilisant une syntaxe relativement proche à celle
des langages PHP ou Perl. Il est possible de coder presque tout avec le tag
CFScript (voir le chapitre CFScript pour plus de détails) ; on peut
utiliser les opérateurs, les structures de contrôles, les fonctions, etc.
Voici un exemple de code avec le tag CFScript :
ColdFusion offre aussi un langage à base de
balises XML. Il s'agit, surprise, surprise, du langage CFML (ColdFusion Markup
Language). Voici le même exemple en utilisant les tags CFML :
Bien que le code CFScript puisse être acceptable
pour quelques lignes de code, il peut devenir une "casse tête" pour
les pages qui contiennent des centaines, voir des milliers de lignes de code.
Il ne faut pas oublier que nous développions des
pages Web qui contiennent un mix du langage statique (HTML) et du langage
dynamique (ColdFusion), et donc approcher la syntaxe de ces deux langages (en
optant pour CFML) va certainement rendre le code plus lisible et plus facile à
développer et à maintenir. D'autant plus que le code CFML peut être "facilement"
compréhensible par les non-programmeurs !
Normalement, on ne devrait pas avoir le souci du
mix des langages pour les pages qui font uniquement des calculs et des
traitements des données. À noter que ColdFusion a introduit une nouveauté dans
sa version 9 en offrant l'équivalent de nombreux tags CFML en CFScript, par
exemple, query, storedproc, et http (voir le chapitre CFScript pour plus de
détails). Mais est-ce une raison de plus (autre que la performance) pour justifier
l'utilisation du tag CFScript ?
Peut être oui, mais il y a un autre point à prendre
en considération, celui de la syntaxe XML de CFML : si vous êtes amener un
jour à développer un analyseur du code (éventuellement pour ajouter un traitement spécifique lors du déploiement de l'application), alors certainement vous n'allez pas regrettez votre choix si vous avez
opté pour le langage CFML.
Aussi, il faut noter que certains tags CFML permettent des traitements spéciaux,
ce qui n'est pas nécessairement le cas pour leurs correspondants en CFSCript.
Par exemple, le tag cfloop ajoute un teste implicite sur le temps d'expiration de la requête.
Pour conclure, les deux solutions sont supportées
par ColdFusion et éventuellement il devrait y avoir des cas où une solution
serait plus adéquate qu'une autre. Le choix dépend complètement du jugement du
développeur et des normes de programmation adoptées par la compagnie.
Ce chapitre présente les équivalents des tags CFML en CFScript.