Rask utvikling med ColdFusion og CFML

Opplev hastigheten, allsidigheten og ren glede av å utvikle webapplikasjonene dine i ColdFusion 8. Alt du trenger er litt plass på PCen, og 45 minutter.

Oversikt

Du kan eller kanskje ikke har hørt om ColdFusion eller CFML (ColdFusion Markup Language), men ganske snart kommer du til å elske det. Hvorfor kaste bort tid på å utvikle 80 kodelinjer på ett språk når du kan gjøre det samme i ColdFusion i ikke mer enn fem?

I denne opplæringen vil vi sikte på å oppnå følgende:

  • Vi skal laste ned og installere Adobe ColdFusion 8, og opprett en utviklingsserver på din PC.
  • Lær grunnleggende om ColdFusion-tagkoding, inkludert spørringer og variabel persistens.
  • Vi skal laste ned og installere Railo Express, en åpen kildekode CFML-motor, som et alternativ.

Last ned og installer Adobe ColdFusion 8

For det første må vi laste ned en kopi av ColdFusion 8 fra følgende sted: http://www.adobe.com/go/trycoldfusion.
Som alle Adobe-nedlastinger må du logge på, eller opprette en konto hvis du ikke har en. Velg 'Utviklerutgave', og velg programmet som er relevant for operativsystemet, i mitt tilfelle 'English | Windows | 374.8MB'.

Når nedlastingen er fullført, kjør installasjonsfilen og følg de neste trinnene for å fullføre installasjonen av ColdFusion 8!

Klikk ved å fortsette fra introduksjonsskjermbildet, og godta ColdFusion 8 Lisensavtalen neste.

På installasjonsskjermbildet vil vi installere utviklerens utgave, så merk av i boksen og klikk på "Neste" -knappen.

Serverkonfigurasjonsskjermen viser tre alternativer for installering. For denne opplæringen trenger vi det første alternativet, "Server konfigurasjon", som bruker en selvstendig server. Velg dette alternativet og gå til neste skjermbilde.

Her kommer vi til å velge underkomponenter som skal inkluderes i installasjonen. I denne opplæringen krever vi ikke '. NET Integration Services' eller 'Adobe LiveCycle Data Services ES' -komponenter, så ikke velg dem, bare velg de tre gjenværende alternativene. Klikk på 'Neste' for å fortsette.

Installasjonsmappen er som standard C: \ ColdFusion8. La det være slik det er. Hvis du vil endre katalogen, vær oppmerksom på at ytterligere kommentarer i denne opplæringen vil referere til denne installasjonsbanen, slik at du kanskje må tilpasse stiene slik de passer.

For webserver konfigurasjon skal vi bruke 'Innebygd webserver', så velg dette alternativet og klikk 'Neste'.

Velg et passord for tilgang til ColdFusion-administratoren. Skriv inn dette to ganger, og klikk på "Neste" for å fortsette.

Velg 'Aktiver RDS' og skriv inn et passord. Klikk på 'Neste' for å fortsette.

Du er nesten der! Den neste skjermen viser installasjonsoversikten, og detaljer om ColdFusion-konfigurasjonen. Legg merke til portnummeret (8500) under overskriften 'Serverinformasjon'. ColdFusion kjører på dette portnummeret, så din ColdFusion-serveradresse vil være 'http: // localhost: 8500 /. Klikk på "Installer" -knappen, og la de gode tider rulle. Installatøren vil nå gjøre det, og avslutte oppsettet for deg.

Under installasjonen vil du se forskjellige sprutskjermer og meldinger som fremhever noen av de mulighetene og fordelene du har til rådighet når du bruker ColdFusion.

Når installasjonen er fullført, blir du bedt om å logge inn i konfigurasjonsveiviseren, som vil konfigurere administrasjonsgrensesnittet for deg. Adressen er http: // indeks ost: 8500 / CFIDE / administrator / index.cfm, men ved å velge 'Launch Configuration Wizard i standard nettleser' vil adressen automatisk bli lastet for deg.

Skriv inn administratorpassordet du hadde definert i de tidligere stadiene av installasjonen, og klikk på "Logg inn" -knappen. Det er det. Du har opprettet en ColdFusion-utviklingsserver.

Du blir nå presentert med ColdFusion-administratorgrensesnittet. Dette lar deg kontrollere alle aspekter av ColdFusion-serveren din, legge til datakilder, slå av eller på feilsøkingsutgang, administrere økt og søknadsavbrudd pluss så mye mer. For nå trenger vi ikke å bekymre oss for mye om noe her, da det er satt opp for alt vi trenger i denne opplæringen.

ColdFusion Tags og koding

Nå som ColdFusion-serveren er installert, er det tid for det typiske "Hello World" -eksempelet, og å lære grunnleggende om ColdFusion.

Som nevnt tidligere i denne opplæringen, er ColdFusion et tagbasert språk, og en som burde føles behagelig for alle som noensinne har skrevet en HTML-kode i deres levetid.
En stor fordel, og en å huske om du ikke kan huske et tagnavn for en bestemt funksjon, er at alle ColdFusion-tagger starter med prefikset 'CF'.

For eksempel, for å angi en variabel, vil du bruke taggen 'cfset'. For å utdata data, ville du bruke taggen 'cfoutput'. For å dumpe et omfang eller en variabel, ville du bruke taggen 'cfdump'.
Jeg vedder på at du ikke kan gjette hvilken merke du vil bruke til å kjøre et spørsmål? Hvis du gjettet 'cfquery', er du 100% korrekt.

Opprett en ny fil kalt 'index.cfm', og lagre den i nettverket til ColdFusion-installasjonen din (i dette tilfellet C: \ ColdFusion8 \ wwwroot).
Legg til følgende kodestykke på .cfm-siden din, lagre det igjen, og se mesterverket i nettleseren din (http: // localhost: 8500 / index.cfm)

  # StrHelloWorld #

Perfekt! Du er på vei til å bli en CF-guru. Så, hva gjorde vi? Vi opprettet en strengvariabel 'strHelloWorld' ved hjelp av cfset-taggen. For å utdata dataene brukte vi cfoutput-kodene og omgav variabelenavnet med hash-merker. Dette forteller oss ColdFusion, det er en dynamisk variabel. Fjern hash-merkene fra hver side av "strHelloWorld" -teksten, og lagre og vis filen igjen. Ser du hva jeg mener? Uten hash-merkene blir verdien gjengitt som en bokstavelig streng.

Tid for en forespørsel

La oss nå prøve et spørsmål. Innenfor CF-administratoren (http: // localhost: 8500 / CFIDE / administrator / index.cfm) under menyen 'datakilder' kan du se at det er noen standarddatabaser som er opprettet for deg. La oss kjøre et raskt spørsmål på en av databasene.

Legg til følgende kode på index.cfm-siden din:

  SELECT firstName, lastName, artistID FROM artister  

Så hva er dette? Ved å bruke den tidligere nevnte cfquery-taggen, oppretter vi en ny spørring ved hjelp av datakildenavnet som leveres i administratoren.

All SQL-kode, enten det er en UPDATE, SELECT, INSERT eller DELETE, går innenfor cfquery-kodene.

Vi har gitt spørringen et bestemt navn, i dette tilfellet "qArtists". Vi bruker dette navnet til å referere forespørselen og hente data fra objektet, som er det vi gjør i den neste taggen, 'cfdump'.
Denne taggen er viktig i ColdFusion-utviklingen, og lar deg se alt fra strengene til komplekse strukturer, arrays og objekter..

Lagre filen, og vis resultatene i nettleseren din.

Forespørselsobjektet er nå synlig på siden, viser resultatene, utførelsestiden, hvis spørringen er blitt cached eller ikke, og SQL-en brukes til å oppnå resultatene.

Gå gjennom dataene

Så nå har vi dataene, hva kan vi gjøre med det?
La oss gå gjennom spørringen og vise navnene i en liste, ved hjelp av cfloop-taggen (jeg fortalte deg at kodene var enkle å huske).

Legg til følgende kode på index.cfm siden, under spørringsdumpen:

 
  • #fornavn Etternavn#

Fint og enkelt. Så langt har du opprettet og vist en strengvariabel, kjør en forespørsel mot en database, dumpet verdiene og utdataene resultatene ved hjelp av en loop, alt i ca 12 linjer med kode.
Den vakre ColdFusion-utviklingen er det faktum at det er raskt, rask utvikling og lett å forstå.

Vedvarende data og applikasjonsomfanget

En viktig del av ColdFusion-utviklingen er evnen til å vedvare data, informasjon og variabler over hele applikasjonen. Dette kan oppnås enkelt ved å bruke applikasjonsomfanget og Application.cfm-siden. Denne siden sitter i roten til søknaden din og blir kalt på hver sideforespørsel, noe som betyr at alle dataene i den er tilgjengelige på hver side. Dette er perfekt for å skape virkelig skalerbare, dynamiske applikasjoner. En ekte verden eksempel er å slå datakildenavnet til en variabel.

Opprett en ny fil med navnet 'Application.cfm' i webroten din, og legg til følgende for det:

   

Åpne index.cfm-siden i fileditoren og endre datakildenavnet for å bruke variabelen '# application.dsn #' du nettopp har opprettet, slik at koden nå ser slik ut:

  SELECT firstName, lastName, artistID FROM artister  

Lagre index.cfm-filen og vis den i nettleseren din.

Du kan nå se at programmets omfang er dumpet på siden fra Application.cfm-filen, og spørringen fungerer fortsatt ved hjelp av variabelen som datakildenavnet.

URL-variabler og validering

Vi opprettet en kobling i loop til page2.cfm, så vi må opprette den siden og lagre den i webroten. Vi sender gjennom artistID-variabelen, og vi ønsker å kjøre en ny spørring for å trekke ut kunstverk av den aktuelle artisten.

Legg til følgende kode i page2.cfm filen:

   VELG artnavn, beskrivelse, pris FRA kunst WHERE artistID =   

Med utgangspunkt i det vi allerede har lært, dumper vi og viser innholdet i URL-omfanget. Vi kan se at den inneholder parameteren vi har sendt gjennom i nettadressen.
Det er en ny spørring som kjører en SELECT-setning fra et nytt bord 'Art', trekker ut poster der artistID samsvarer med det som sendes gjennom i nettadressen.

Det er en viktig kode inneholdt i spørringen som heter cfqueryparam, som er en uvurderlig metode for å unngå SQL-injeksjon av verdier som passerer gjennom URL eller FORM-rekkevidde. Hvis du angir noen valgfrie parametere, kjennetegnes denne taggen perfoms data validering på typen som sendes gjennom.

En endelig cfdump-tag viser forespørselsobjektet, og denne gangen viser også SQLParameters sendt gjennom i en arrayobjekt.

Legg til følgende kode under spørringen på side2.cfm for å gå igjen gjennom dataene:

   

# ArtName #
#beskrivelse#
#pris#


Beklager, det er ingen poster som samsvarer med dine kriterier.

Sløyfen er den samme som den som tidligere ble skrevet i denne opplæringen, den eneste forskjellen er cfif-kodene som er pakket rundt den, som bare vil kjøre sløyfen hvis det er poster i søkeresultatene.

Å lage bilder er enkelt

En av de nyeste kodene i ColdFusion 8 er cfimage-taggen, som lar utviklere lage, vise, lagre og manipulere bilder i fly. Så mye kan gjøres med denne fantastiske taggen, men jeg vil vise deg et enkelt virkelighetseksempel for bruk.

Å lage ditt eget CAPTCHA-bilde har aldri vært enklere enn dette. Opprett en ny fil kalt image.cfm, og lim inn i følgende kode:

 

Fra en ColdFusion-tag har du laget ditt eget CAPTCHA-bilde og vist det direkte i nettleseren.

ColdFusion Referanser og dokumentasjon

Du har nå ColdFusion 8 installert, du har rørt overflaten av grunnleggende koder og variabler, du har kjørt en spørring og bidratt til å beskytte den med validering.

For å utforske de andre kodene, eksempler på bruk og andre inkludert funksjoner, har du også ColdFusion-dokumentasjonen installert på maskinen din (forutsatt at du valgte alternativet ColdFusion 8-dokumentasjon i installasjonstrinnene), som du kan få tilgang til fra følgende lokale adresse:


  • Livedocs http: // localhost: 8500 / cfdocs / dochome.htm
  • CFML-referanse http: // localhost: 8500 / cfdocs / htmldocs / help.html

Hvis du fjerner merket for dette alternativet, eller kanskje du utvikler deg på en annen maskin, er livedocs også tilgjengelig for deg online på følgende adresse:

http://livedocs.adobe.com/coldfusion/8/htmldocs/index.html

ColdFusion er kjent for sin store og vennlige samfunn. Det finnes en mengde fora, blogger, feeds og grupper for å lese, bli med eller gi råd, så vær glad i det du vet at du aldri er langt fra et svar.

Open Source CFML - Få Railo

Et alternativ for en rask, ren CFML-applikasjonsserver er Railo, den nye open source CFML-motoren. For denne opplæringen bruker vi Railo Express-pakken, og installerer på en lokalhost-webserver. Railo er en liten, selvstendig CFML-motor som bruker alle taggene og funksjonene som er inkludert i Adobe ColdFusion, pluss noen flere som ikke er. Den endelige nedlastingen er så liten og kompakt, du kan lagre den og kjøre serveren fra en USB-pinne, som jeg gjør, slik at du kan utvikle og spille med CFML på farten.

Last ned Railo

Du kan laste ned Express-versjonen ved å gå til nedlastingssiden for Railo, og velg utgivelsen som er relevant for operativsystemet

Nå som du har zip-filen åpnet, trekk innholdet til et sted på harddisken din. Jeg pleier vanligvis å plassere den i roten av C: stasjonen, selv om du kan plassere den hvor som helst passer best for deg. Jeg finner personlig at mappenavnet generert fra zip-filutvinningen er for lang. Du kan ønske å beholde det som det er, for eksempel C: \ railo-3.1.0.012-railo-express-6.1.0-3-1-med-jre-windows, eller du kan ønske å gi nytt navn til C: \ railoExpress , eller noe annet lettere å huske. I den ekstraherte mappen, dobbeltklikk på start.bat-filen ('start.sh' hvis du bruker Linux). Denne batchfilen vil konfigurere serveren for deg, og skape alt du trenger for å være oppe i løpet av sekunder.

Som du kan se fra ledeteksten i slutten, har serveren blitt opprettet for deg på port 8888. Bruk din valgte nettleser til http: // localhost: 8888 /. Rett vekk kan du se at standard index.cfm siden viser og "dumper" -data, variabler og rekkevidde for at du skal vise at installasjonen var vellykket.

Øverst på standardsiden er lenken til administrasjonskonsollen for Railo-serveren, vanligvis 'http: // localhost: 8888 / railo-context / admin / index.cfm'.
Jeg vil foreslå at du bokmerker denne linken for å sikre at du alltid har den til hånden. Du kan ende opp med å erstatte eller overskrive index.cfm siden, og du vil ikke risikere å miste denne linken.
Klikk på linken for å gå videre til administrasjonssidene.

Din er utstyrt med to alternativer for Railo administrasjon; Webadministrator (som konfigurerer innstillinger per nettside) og Serveradministrator (som konfigurerer de globale innstillingene for hele serveren). Velg alternativet 'Serveradministrator', og opprett innloggingspassordet for kontoen.

Innstillingene i Railo-administratoren ligner på ColdFusion-administrasjonsgrensesnittet, så det vil være enkelt å finne veien rundt.

Alle .cfm-filer du skriver for din Railo-server må plasseres i følgende mappe: C: \ railoExpress \ webroot (selv om dette vil være annerledes hvis du ringte din Railo-mappe noe annet).

Det siste ordet

Gjennom denne opplæringen har du satt opp to CFML-servere, opplevd den enkle ColdFusion-kodingen, og fått litt kunnskap om programmets omfang. Så, hvor til herfra? Jeg kunne lett ha skrevet for ytterligere 500 sider eller så deling mye mer kode, objekter og funksjoner med deg, og jeg ser frem til å dele mer med deg snart, men i mellomtiden er det noen veldig nyttige ressurser for deg som du kanskje liker å besøke:

  • Installere ColdFusion 8
  • Railo Open Source
  • cfbloggers.org
  • Følg oss på Twitter, eller abonner på NETTUTS RSS Feed for flere daglige webutviklingsverktøy og artikler.