«

»

Jun 18

Print this Post

Otimizando Seus Scripts ColdFusion

O ColdFusion vem evoluindo muito em se tratar de sintaxe, e eu sempre gostei muito de usar cfscript, já que também programo em Flex e estou sempre fazendo coisas em JavaScript, então seguir um padrão SCRIPT é legal.

E ultimamente tenho visto muita facilidade no cfscript, muita coisa que era chato de escrever agora está simples, por isso resolvi fazer esse artigo rápido para falar um pouco da sintaxe do array e da estrutura no ColdFusion.

A algum tempo para escrever um array no cfscript, era necessário escrever da forma abaixo:


arrayData = ArrayNew(1);
arrayData[1] = "Santa Catarina";
arrayData[2] = "Rio de Janeiro";
arrayData[3] = "São Paulo";

Se você quisesse algo dinâmico falando de index, poderia fazer assim:


arrayData = ArrayNew(1);
arrayData[ArrayLen(arrayData)+1] = "Santa Catarina";
arrayData[ArrayLen(arrayData)+1] = "Rio de Janeiro";
arrayData[ArrayLen(arrayData)+1] = "São Paulo";


Ao meu ver, muita escrita desnecessária. Mas hoje já está bem menos complexo, vejamos como fazer de forma rápida e simples.


arrayData = ["Santa Catarina","Rio de Janeiro","São Paulo"];

Desta forma, nem precisa se preocupar com o index do array e com uma linha você resolveu o problema.

Agora vamos falar sobre Struct, antes fazíamos assim:


structData = StructNew();
structData.estado = "Santa Catarina";
structData.uf = "SC";

Agora vamos a uma forma mais simplificada:


structData = {estado:"Santa Catarina",uf:"SC"];

Bem mais simples, mas agora vamos unir o array e a struct e ver como era e como podemos fazer agora.


arrayData = ArrayNew(1);
arrayData[1] = StructNew();
arrayData[1].estado = "Santa Catarina";
arrayData[1].uf = "SC";

arrayData[2] = StructNew();
arrayData[2].estado = "Rio de Janeiro";
arrayData[2].uf = "RJ";

arrayData[3] = StructNew();
arrayData[3].estado = "São Paulo";
arrayData[3].uf = "SP";

Vamos ver a forma mais otimizada de fazer isso?


arrayData = [ {estado:"Santa Catarina",uf:"SC"},
{estado:"Rio de Janeiro",uf:"RJ"},
{estado:"São Paulo",uf:"SP"}];

Bem fácil, agora vamos brincar um pouco com essa mistura:


arrayData = [
	{
	  estados: [
		    {estado:"Santa Catarina",uf:"SC"},
		    {estado:"Rio de Janeiro",uf:"RJ"},
		    {estado:"São Paulo",uf:"SP"}
		   ]
	},
	{
	  cidades: [
		    {cidade:["Balneário Camboriú","Florianópolis","Navegantes","Itajaí"]},
		    {cidade:["Rio de Janeiro","Barra Mansa","Macaé","Valença"]},
		    {cidade:["São Paulo","Guarulhos","Campinas","São José dos Campos"]}
		   ]
	}
	];

Agora você imagina o trabalho que seria para construir um array como o acima??? Certamente daría bem mais trabalho.

É interessante entender essa maneira de mapear arrays e estruturas, para quem tem interesse em utilizar NOSQL, é bom acostumar com esse padrão, pois é basicamente nesse formato que manipulamos os dados em NOSQLs.

Bom, fico por aqui, essa matéria é simples, mas acredito que vai ajudar bastante gente que está começando agora no cfscript.

Até a próxima.

Paulo Teixeira
Original post.

Permanent link to this article: http://ensina.me/coldfusion/otimizando-seus-scripts-coldfusion/

Leave a Reply