ColdFusion - Aprender a programar
CFML – Parte 2 – Variáveis
Olá pessoal, vamos então para a 2ª parte sobre ColdFusion … nesta parte vamos aprender a trabalhar com variáveis, os seus tipos e algumas melhores práticas.

Caso o seu servidor do RAILO esteja desligado, poderá iniciá-lo desta forma:
1º - INICIAR > EXECUTAR > services.msc > OK.
2º - Localize o serviço RAILO 2.0 SERVER, seleccione-o e clique na setinha verde lá em cima chamada INICIAR O SERVIÇO.
3º - Aguarde até que o serviço seja iniciado.
Introdução sobre variáveis e tipos.
O ColdFusion é uma linguagem de tipagem fraca, ou seja, o tipo da variável não precisa ser declarado, o utilizador apenas lança o valor da variável e ele automaticamente já “sabe” de qual tipo ela é.
Outro detalhe sobre as variáveis em CF, é que o CF não é case sensitive, ou seja, não faz distinção entre MAIÚSCULAS e minúsculas. Em CF, uma variável chamada NOME pode ser chamada por NOME, nome, nOme, nomE, etc. Contanto que o nome da variável e o seu alvo estejam correctos, ele encontra-a, independente da utilização ou não de letras maiúsculas no seu nome.
OBS1:
Comentários – Os comentários em CF são criados desta forma:
<!— comentario —>
OBS2: Comentários são partes de texto no código que servem para explicar uma determinada parte.
1º Exemplo.
Vamos criar uma mensagem de boas vindas utilizando algumas variáveis.
Crie um novo documento com o nome de P02_variveis.cfm para este exemplo.
<!— a linha abaixo irá criar uma variável de nome MSG com o valor “Bem-vindo(a) ao: ”—>
<cfset variables.msg = ‘Bem-vindo(a) ao: ‘>
<!— a linha abaixo irá criar uma variável de nome SITE com o valor “Pplware”—>
<cfset site = ‘Pplware’>
<!— a linha abaixo irá criar uma variável de nome ANO com o valor “2007”—>
<cfset ano = 2007>
Como puderam perceber, a criação de variáveis e atribuições de valores é feita de forma muito prática. Outro detalhe é o uso de ““s.
- Caso o valor da variável seja numérico, não se utiliza ‘’s.
- Caso o valor da variável seja um tipo de texto, utiliza-se ‘’s.
OBS: Utilize ‘ ’ (aspas simples) ou aparecerá um ecrã de erro. Ao contrário do servidor ColdFusion oficial, o Railo não suporta “ ” (aspas duplas) – Ou assim fizeram de propósito.
Ok, já criamos as variáveis, e agora, como mostrá-las?
Em CF, existe uma tag que devemos utilizar para mostrar conteúdo dinâmico, esta tag é a CFOUTPUT e, utilizamos desta forma:
<!— o exemplo abaixo irá mostrar uma mensagem de boas vindas utilizando as variáveis criadas no exemplo acima —>
<cfoutput>
#msg# #site# !
</cfoutput>
O resultado será:

Para correr a página utilize o seguinte endereço (caso esteja a seguir os passos da forma que escrevi): http://localhost:8600/Pplware/P02_variveis.cfm
O código completo é este aqui:
<!— a linha abaixo irá criar uma variável de nome MSG com o valor “Bem-vindo(a) ao: ”—>
<cfset variables.msg = ‘Bem-vindo(a) ao: ‘>
<!— a linha abaixo irá criar uma variável de nome SITE com o valor “Pplware”—>
<cfset site = ‘Pplware’>
<!— a linha abaixo irá criar uma variável de nome ANO com o valor “2007”—>
<cfset ano = 2007>
<cfoutput>
#msg# #site# !
</cfoutput>
Concatenação de Variáveis.
Para concatenar (juntar) variáveis em CF é tão fácil quanto criá-las.
Crie um novo ficheiro chamado P02_variveis2.cfm
<cfset nome = ‘Fulano’>
<cfset sobrenome = ‘de Tal’>
<cfset nome_completo = nome & ‘ ‘ & sobrenome>
<cfoutput>
Meu nome é: #nome_completo#
</cfoutput>
Resultado:

Trabalhando com operações matemáticas e variáveis
- Soma, subtracção, multiplicação, divisão e múltiplas operações.
Crie um novo ficheiro chamado P2operacoes.cfm e coloque o código abaixo:
<cfset v1 = 10>
<cfset v2 = 15>
<cfset v3 = 8>
<!— Soma —>
<cfset soma = v1 + v2 + v3>
<!— Subtracção —>
<cfset sub = v1 - v2 - v3>
<!— Multiplicação —>
<cfset multi = v1 * v2 * v3>
<!— Divisão —>
<cfset divi = v1 / v2 / v3>
<strong>Resultados:</strong><br>
<cfoutput>
Soma: #soma#<br>
Subtração: #sub#<br>
Multiplicação: #multi#<br>
Divisão: #divi#
</cfoutput>
Resultado:

Acredito que não sejam necessários maiores comentários sobre esta parte acima… primeiro criamos 3 variáveis com valores diferentes, de seguida criamos variáveis para as operações contendo os valores e as operações e por último mostramos o resultado.
Como podem ter percebido, o número da divisão ficou enorme. Caso queiram, podem limitar a quantidade de casas a serem mostradas.
Ex.: (pode ser colocado no final do código acima).
<cfset numero_longo = 85.654325752>
<cfoutput>
Número Longo Original: #numero_longo#<br>
Novo Número Longo: #LSNumberFormat(numero_longo,’__.__’)#
</cfoutput>
Resultado:

Alvos (targets) de Variáveis
Em CF recomenda-se utilizar um alvo nas variáveis para obter melhor performance e deixar o código mais “legível”.
Utilizar um alvo nas variáveis é nada mais do que colocar o nome do objectivo antes do nome da variável, por exemplo:
Variável local > variables.nome
Variável de aplicação > Application.nome
Variável de sessão > Session.nome
Variável de Request > request.nome
Nos nossos exemplos utilizamos apenas variáveis LOCAIS, ou seja, para deixar a sua aplicação mais produtiva e de acordo com as Melhores Práticas, refaça (ou corrija) os exemplos adicionando “variables. “ no começo de todas as variáveis criadas e onde as mostra.
Ex: nome > variables.nome
Nos próximos exemplos irei mostrar como utilizar os outros alvos (targets), mas, isso é assunto mais para frente.
Na próxima “aula” irei mostrar como enviar e receber variáveis de uma página para a outra via URL e FORM e o início de operações lógicas. Irei também ensinar como configurar um site para os nossos exemplos no Dreamweaver 8 (serve para outras versões) para facilitar a execução dos códigos.
Ficheiros usados nesta segunda parte, ver aqui.
Até a próxima!
Arquivado na categoria: Tutoriais
13 comentários a “ColdFusion - Aprender a programar”
Deixe o seu comentário
Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste weblog ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste weblog reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação de seu autor (nome completo e endereço válido de email) também poderão ser excluídos.








10 de Dezembro de 2007 às 4:30 pm
Parabéns pelo artigo. Está muito bom.
Apenas senti falta das regras de nomenclatura das variáveis. Poderias dizer quais são?
10 de Dezembro de 2007 às 4:33 pm
Esta nice.
—
Vitor, não sabia para que email te mandar o artigo então mandei para um email teu no gmail, o que tinha usado para te mandar o artigo sobre licenças.
CoolMaster
10 de Dezembro de 2007 às 4:33 pm
Esqueci de um detalhe. Você disse que CF é uma linguagem de tipificação fraca. Outras linguagens semelhante, mesmo tempo tipificação fraca, permiti tipificar a variável, dessa forma tornando tipificação forte (popularmente chamada de tipificação forte opcional).
CF permiti tipificar variável caso queira fazer??
10 de Dezembro de 2007 às 5:11 pm
Sobre o artigo: talvez possa ocorrer algum erro ao mostrar as varíaveis devido à ausência do escopo “variables” dentro do cfoutput.. enfim, é só colocar caso dê erro.
Evandro:
1 - não existe exatamente uma “regra” para nomear variáveis em CFML, isso vai variar mais de empresa para empresa, mas, geralmente utilizam-se estas regras:
- variáveis locais: variables.nome
- variáveis de sessão: Session.nome
- variáveis de aplicação: Application.nome
- variáveis de requisição (vindas de componentes): request.nome
- nomes de consultas em bancos geralmente são feitas assim: qrNomeConsulta
ou qry_nome_consulta (eu prefiro da 1a forma)…
- nomes de funções: func_nome_funcao
- nomes de argumentos para funções: arg_nome_argumento
Quanto à tipagem:
Até onde eu saiba, não há a possibilidade de “forçar” seu tipo em CF… somente se declara no caso de Array… de resto, não há necessidade/possibilidade…
10 de Dezembro de 2007 às 6:30 pm
Muito bom esta iniciativa CF. Quando comecei a programar era em clipper. Hoje trabalho com PHP, AS2, AS3, XML, SQL, JS para uma boa integração do Flash e AIR com o mundo web e outros aplicativos. Vou entrar em “parafuso” lol. Mais uma vez, parabéns a todos!
10 de Dezembro de 2007 às 6:44 pm
@Marcos, o que quis dizer com relação a regra é que todas as linguagens de programação existem regras de nomeação. Não relativo a nomenclatura que uma determina empresa assume para suas variáveis.
Digamos assim, o CF permiti iniciar o nome da variável com números? Aceita caracteres especiais? isso são regras para nomeação de variáveis.
10 de Dezembro de 2007 às 8:44 pm
nrocha sim está cá. Vou tratar dele e publicar assim que esteja pronto. Talvez da quinta seja o ideal. Vamos ver. Desde já o meu agradecimento.
10 de Dezembro de 2007 às 11:40 pm
Evandro:
aaahhh sim… bom.. nesse caso, sim, deve-se respeitar esta regra de não utilizar números para iniciar uma variável, nem caracteres especiais, palavras reservadas, espaços…
11 de Dezembro de 2007 às 12:12 am
Olá Marcos e restantes leitores,
boa matéria
Só para completar poderia dizer que variables é opcional (melhor usar mas não necessário) já por exemplo session é obrigatório quando queremos trabalhar com sessões.
Cumprimentos
César Oliveira
11 de Dezembro de 2007 às 10:39 am
César Oliveira, pedia-te que não metesses esses links todos nos comentários, assim tenho que permanentemente estar a retirar do spam os teus comments.
Sempre que um comentário tem mais que um link estes vão parar ao spam.
11 de Dezembro de 2007 às 10:51 am
Caros,
Apenas um reparo que acaba por ser uma limitação do html e da representação de caracteres.
Onde está escrito “<!–” devem ler “menor; exclamação, menos, menos” e naturalmente na tag oposta, onde está escrito “–>” devem ler “menos, menos, maior”
11 de Dezembro de 2007 às 6:18 pm
César:
sim sim… acho que eu expliquei isso na 1a parte… que ‘variables’ e ‘request’ são mais formas de ‘organizar’ o código e facilitar o entendimento de onde as variáveis estão indo e vindo.
15 de Dezembro de 2007 às 1:02 am
Interessante, embora o CF seja uma tecnologia moribunda. Investir muito tempo em CF nao é uma boa ideia para 2008-2010 (vejam a quantidade de anuncios que pedem CF skills)