11
votes

ColdFusion a-t-elle une brève syntaxe pour créer une structure?

Y a-t-il une syntaxe "courte" pour créer une structure dans ColdFusion? J'aimerais remplacer ce code verbeux: xxx pré>

avec quelque chose de plus comme un objet JavaScript: p>

<cfscript>
  stcML = GetPrompts({ Template: "Label", Language: "en" });
</cfscript>


0 commentaires

5 Réponses :


2
votes

Dans ColdFusion 8 et plus, vous pouvez créer une structure comme celle-ci:

ref={template="label", language="en"}


1 commentaires

KIP, en CF8, vous pouvez utiliser cette syntaxe, comme Sam dit, mais vous ne pouvez pas l'utiliser dans des arguments pour fonctionner. Dans CF9, vous pouvez utiliser la notation de structure sténographique dans des arguments vers des fonctions; Ainsi, votre exemple ci-dessus fonctionnerait (avec = au lieu de: si)



17
votes

Coldfusion 8 (et UP) a une notation littérale structurée: xxx

Cependant, il y a quelques cordes attachées:


5 commentaires

Donc, fondamentalement, vous ne pouvez utiliser que cette syntaxe courte pour créer une structure à 1 dimension attribuée à une variable. Mais vous ne pouvez pas créer un à passer à une fonction de la volée comme je le voulais. Je suppose que c'est plus comme quelques chains attachés ...


On dirait que cela sera corrigé dans cf9 cependant!


Ouais, "chaînes" peut être plus précise. Je déposerais des littéraux de structure CF8 sous "Un jour de retard et un dollar court". Je ne sais pas pourquoi ils ont roulé cela - sous la forme actuelle, cela n'a pas beaucoup de sens.


Dans Coldfusion 9, la structure implicite et la notation de la matrice sont fixes. Occasion fonctionne et vous pouvez les créer "à la volée" comme fonction de fonction ou de balise: Dofoo ({foo = "bar"}) ou


Il convient également de noter qu'aujourd'hui (cf 10 peut-être?) Ils ont ajouté une prise en charge plus évidente : afin que vous n'ayez pas à utiliser l'opérateur d'affectation ( = ). Donc, oui, vous pouvez maintenant (à la fois en CFML et CFScript), utilisez exactement ce que vous espérez.



2
votes

à Railo 3 et au-dessus, vous créez comme ceci:

  • STRIT: STRIT (A: 1, B: 2, C: 3, D: "AAA")
  • Array: Array (1,2,3, "AAA")
  • Query: Query (Col1: Array (1.1,1.2,1,3), Col2: tableau (2.1,2,2,2,3))

1 commentaires

Aall ceux qui ont été possibles depuis Railo 1.



1
votes

Vous pouvez utiliser CFJSON . Ajoutez le composant à une portée à laquelle vous utilisez (par exemple la portée de la demande): xxx

et appelez-le comme: xxx


0 commentaires

6
votes

Si vos tentatives de simplification de la syntaxe de struct dans CF8 s'exécutent dans des défaillances de nidification et / ou d'inline, vous pouvez utiliser cette fonction de manière trompeuse simple: xxx

Vous pouvez ensuite utiliser cette syntaxe: xxx


1 commentaires

J'ai nommé la mine 'Array ()' Cuz C'est comme ça que cela fonctionne dans PHP;)