Christmas True Type Fonts Ultr@VNC 1.0.4 RC6

ColdFusion - Aprender a programar

Criado por: Marcos Gramelich em 10 de Dezembro de 2007 Deixar um comentário

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”

  1. Evandro diz:

    Parabéns pelo artigo. Está muito bom.
    Apenas senti falta das regras de nomenclatura das variáveis. Poderias dizer quais são?

  2. nrocha diz:

    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

  3. Evandro diz:

    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??

  4. Marcos diz:

    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…

  5. Cordelima.com diz:

    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!

  6. Evandro diz:

    @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.

  7. Vítor M. diz:

    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.

  8. Marcos diz:

    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…

  9. César Oliveira diz:

    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

  10. Vítor M. diz:

    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. Pedro Simões diz:

    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”

  12. Marcos diz:

    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.

  13. Spiff diz:

    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)

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.