Você está na página 1de 10

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

www.coldfusionbrasil.com.br
2000

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

O que Cold Fusion?

Arquitetura Cold Fusion

Cold Fusion Markup Language (CFML)

O que devo saber para programar em CFML? HTML Desenho de Banco de Dados Relacionais e Gerenciamento SQL Definindo um Data Source

4 4 5 5 6

Criando a primeira aplicao Cold Fusion

Cdigo completo da primeira aplicao

Salvando a aplicao

Visualizando a aplicao

Declaraes SQL

CFIF, CFELSE e CFELSEIF

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

O que Cold Fusion?


uma ferramenta de desenvolvimento de aplicaes web que permite criar pginas web dinmicas para Internet, intranets ou extranets atravs de integrao sofisticada entre elementos como: banco de dados, ambiente web e aplicaes de e-mail, alm de permitir aplicaes Java. Isto significa que uma vez instalado, voc ter acesso a sua base de dados SQL de forma dinmica, sem a necessidade de se criar vrias pginas para cada item de pesquisa. Poder ainda criar formulrios de envio de e-mails, criar agendas e calendrios, etc. O Cold Fusion utiliza-se de uma linguagem denominada CFML (Cold Fusion Markup Language). Baseada em tags, como o HTML, tornando-se uma linguagem de fcil aprendizado.

Arquitetura Cold Fusion


Quando uma pgina dentro da aplicao Cold Fusion requerida por um browser (usurio), o Cold Fusion processa o CFML, interagindo com sistemas de backend, e gera dinamicamente uma pgina de retorno para o browser com as informaes requeridas. O diagrama a seguir, mostra como o Cold Fusion trabalha quando um browser invoca uma pgina CFML.

1. Quando um usurio clica em um boto Submit (Enviar) em um formulrio ou um link em uma pgina, o navegador envia uma requisio HTTP para o servidor Web via Internet ou intranet. 2. O servidor Web passa os dados submetidos pelo cliente e a pgina apropriada para o Servidor Cold Fusion atravs da API. 3. O Cold Fusion l os dados do cliente e processa o CFML dentro da pgina. Baseado no CFML, o servidor interage com servidores de banco de dados, arquivos de sistema, servidores SMTP, e potencialmente outras aplicaes e extenses atravs da API Cold Fusion ou atravs de COM/DCOM. 4. O Cold Fusion gera dinamicamente uma pgina HTML que retornada para o servidor Web. 5. O servidor Web ento retorna a pgina HTML para o navegador do usurio.

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

Cold Fusion Markup Language (CFML) CFML dispe de um compreensivo ambiente de script baseado em tags, o que torna o desenvolvimento de aplicaes muito mais rpido e fcil. Por tambm ser uma linguagem baseada em tags, a CFML se integra facilmente ao HTML. Um template Cold Fusion (arquivo .cfml), nada mais do que um arquivo texto, exatamente como um arquivo .htm/.html, sendo possvel ser editado atravs de um simples editor de textos, como por exemplo, o Wordpad do Windows. Atravs de suas tags pode-se manipular variveis, utilizar funes de data, hora, matemticas, pesquisa e string, fazer declaraes condicionais, loop, alm de utilizar declaraes avanadas SQL. Aqui est um pequeno exemplo de CFML: <html> <head> <title> Ol Mundo! </title> </head> <body bgcolor=#FFFFFF text=#000000"> <cfset ola=Ol Mundo> <cfoutput> <font size=5">#ola#</font> </cfoutput> </body> </html>

O que devo saber para programar em CFML?

HTML Voc ver que as tags do Cold Fusion (CFML) so similares sintaxe das tags HTML, mas, no iguais, elas ajudaro a voc criar pginas dinmicas e mostrar os dados de uma pesquisa em seu banco de dados sem a necessidade de se criar vrias pginas para isso. Voc deve entender o bsico de como se criar pginas HTML, como colocar informaes em tabelas, como recolher dados em formulrios, e como criar links.

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

Desenho de Banco de Dados Relacionais e Gerenciamento Se voc planeja criar aplicaes que usam dados existentes em data sources, voc deve entender como os dados so organizados. Em muitos casos, isto significa entender como tabelas so organizadas para prevenir duplicaes desnecessrias de dados. Por exemplo, se voc tm dados sobre empregados, que em especial repetem o nmero do departamento e o nome em cada registro de empregados, voc dever ter uma tabela separada que liste cada nmero de departamento e nome apenas uma vez. SQL Familiaridade com alguma Linguagem de Pesquisa Estruturada (SQL) ser til para voc desenvolver suas aplicaes Cold Fusion. Em particular, voc deve estar apto a usar o SELECT, UPDATE, INSERT, e DELETE, e tambm clausula WHERE e operadores lgicos boleanos.

Definindo um Data Source


Um Data Source, como o prprio nome diz, a origem dos dados, que sero utilizados na aplicao. O Cold Fusion utiliza o ODBC para se comunicar com uma larga escala de banco de dados. Antes de utilizar um data source em uma aplicao necessrio registr-lo no Cold Fusion Administrator. Para definir um data source abra o item ODBC, ou Data Sources para verses anteriores a 4.0, entre com o nome para o novo data source, este nome ser utilizado em toda a sua aplicao quando for necessrio utilizar dados do banco de dados; Selecione um dos drivers ODBC que aparecem na lista; E ento clique no boto Add. Na pgina Create ODBC Data Source coloque onde est localizado o banco de dados que voc procura utilizar para esta aplicao e clique no boto Create. Se estiver fazendo alguma alterao clique no boto Update. Voc pode notar ainda que nesta pgina existem algumas opes para utilizar em seu data source, so elas, o intervalo da pgina (Page Timeout), o tamanho do buffer (Buffer size), e usurio e senha (Username e Password). Mas existe ainda um boto chamado CF Settings, que mostra algumas opes mais avanadas para seu data source. Nestas opes avanadas voc poder definir o intervalo do login (Login Timeout), limitar o nmero de conexes simultneas ao data source (Limit Connections), entrar com um usurio e senha para acessar seu data source (ColdFusion Login), manter a sua conexo com o banco de dados (Maintain database connections), definir o intervalo de conexo ao banco de dados (Connection timeout) e restringir operaes SQL, select, insert, delete, update (Restrict SQL Operations).

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

Criando a primeira aplicao Cold Fusion


J sabemos que um template Cold Fusion pode ser editado atravs de um editor de textos, para esta primeira aplicao o que basta, mas se preferir pode editar com o HomeSite ou Cold Fusion Studio, ambos encontrados no site da Allaire (www.allaire.com). Vamos assumir que j configuramos nosso data source (ver Definindo um Data Source) com o nome de agenda e que ele um banco de dados Access chamado agenda.mdb. Neste banco de dados temos atualmente apenas uma tabela chamada Pessoal, que tem como campos Nome e Telefone. Tendo definido estes padres, agora vamos comear a entender como funciona uma aplicao Cold Fusion. Comece criando em seu template o acesso a sua base de dados: <CFQUERY DATASOURCE=agenda NAME=AgendaPessoal> SELECT * FROM Pessoal </CFQUERY> Acima estamos listando todos os itens contidos na tabela Pessoal do banco de dados. E nomeamos nossa pesquisa como AgendaPessoal para que possamos exibir-la como mostrado a seguir: <CFOUTPUT QUERY= AgendaPessoal > #nome# - #telefone# <HR> </CFOUTPUT> O resultado desta pesquisa, assumindo ter apenas trs registros no banco de dados, ir gerar um HTML da seguinte forma: Jos da Silva 11-234-9980 <HR> Manoel Alves 19-345-3328 <HR> Maria Lima 13-231-9915 <HR> * Note que dentro da tag CFOUTPUT foi colocada uma tag HTML, <HR>. No existem problemas em se intercalar tags CFML com tags HTML, a exceo de aspas dupla () e escopa (#). Para estes voc deve repetir-los duas vezes (##, ).

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

Cdigo completo da primeira aplicao


Aqui voc encontra o exemplo completo da aplicao exemplificada acima. <! Fazendo a pesquisa no banco de dados > <CFQUERY DATASOURCE=agenda NAME=AgendaPessoal> SELECT * FROM Pessoal </CFQUERY> <html> <head> <title>Primeira Aplicao Agenda Pessoal</title> </head> <body> <h2>Agenda Pessoal</h2> <! Mostrando os registros > <CFOUTPUT QUERY=AgendaPessoal> #nome# - #telefone# <HR> </CFOUTPUT> </body> </html>

Salvando a aplicao
Para salvar esta aplicao necessrio que se coloque como extenso do arquivo CFM, portanto podemos chamar esta nossa primeira aplicao de agendapessoal.cfm. Por padro, depois de instalado o Cold Fusion, o servidor Web reconhece um arquivo com a extenso CFM como sendo uma aplicao do Cold Fusion Server, portanto devemos colocar nossos arquivos cfm abaixo do diretrio principal do servidor Web (wwwroot) ou outro mapeado pelo servidor (podendo ser, por exemplo, o diretrio scripts). Vamos ento adotar o diretrio scripts, normalmente localizado no seguinte caminho: C:\Inetpub\Scripts, e criar um diretrio chamado Tutorial_1. Salve agora neste diretrio a sua aplicao (agendapessoal.cfm).

Visualizando a aplicao
Como j editamos, j salvamos nossa aplicao, agora a hora de poder ver com nossos prprios olhos o que realmente criamos.

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

Abra seu navegador preferido, Netscape, Internet Explorer, Opera, e coloque a seguinte url: http://seu_servidor/scripts/Tutorial_1/agendapessoal.cfm Pronto, voc j est vendo o resultado de sua primeira aplicao Cold Fusion.

Declaraes SQL
Como j vimos anteriormente, o SQL uma linguagem especfica para tratamento com banco de dados, para podermos ter melhores resultados em prximas aplicaes necessrio que se tenha um bom conhecimento desta linguagem. Para que voc possa iniciar colocaremos aqui algumas formas de se utilizar o comando SELECT. Ainda em nossa primeira aplicao, vamos fazer algumas alteraes para que possamos entender melhor o comando SELECT. Vamos selecionar todos os registros da tabela Pessoal que contenham no campo nome a seguinte informao: Jos da Silva. <CFQUERY DATASOURCE=agenda NAME=AgendaPessoal> SELECT * FROM Pessoal WHERE nome LIKE Jos da Silva </CFQUERY> Note que colocamos estamos usando agora a clusula WHERE, que responsvel pelos filtros das pesquisas, e o termo LIKE para comparar um campo texto. Se estivssemos fazendo uma comparao de nmeros, utilizaramos o sinal de =. Neste exemplo ser mostrado apenas um nico registro como resultado da pesquisa. Para selecionar todos os registros da tabela que iniciem com a sentena Jos no campo nome, usamos o seguinte: <CFQUERY DATASOURCE=agenda NAME=AgendaPessoal> SELECT * FROM Pessoal WHERE nome LIKE Jos% </CFQUERY> Se quisermos selecionar registros que terminem com a sentena Silva usamos: <CFQUERY DATASOURCE=agenda NAME=AgendaPessoal> SELECT * FROM Pessoal WHERE nome LIKE %Silva </CFQUERY> 8

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

Agora caso queiramos registros que contenham a sentena ma utilizamos: <CFQUERY DATASOURCE=agenda NAME=AgendaPessoal> SELECT * FROM Pessoal WHERE nome LIKE %ma% </CFQUERY> * Note que desta vez teremos como resposta dois registros.

CFIF, CFELSE e CFELSEIF


Estas so as tags de condio utilizadas pelo Cold Fusion, com elas voc poder customizar as tarefas de suas aplicaes. Em nossa primeira aplicao podemos fazer algumas consistncias para ilustrar isto. Vamos fazer com que caso o contedo do campo da pesquisa seja Jos da Silva, seja apresentado Z, caso contrrio ir ser apresentado Outros. <CFOUTPUT QUERY=AgendaPessoal> #nome# - #tel# <CFIF nome IS Jos da Silva> <br>Z <CFELSE> <br>Outros </CFIF> <HR> </CFOUTPUT> Aqui utilizamos o operador IS para comparar o campo nome com a sentena. Poderamos estar utilizando o operador EQ. E para nmeros poderamos estar utilizando: LT LTE GT GTE Menor que Menor ou igual a Maior que Maior ou igual a

Tutorial Cold Fusion Mdulo 1

Cold Fusion Brasil - www.coldfusionbrasil.com.br

Agora ilustraremos a utilizao do CFELSEIF: <CFOUTPUT QUERY=AgendaPessoal> #nome# - #tel# <CFIF nome IS Jos da Silva> <br>Z <CFELSEIF nome IS Manoel Alves> <br>Man <CFELSEIF nome IS Maria Lima>

10

Você também pode gostar