Snelle ontwikkeling met ColdFusion en CFML

Ervaar de snelheid, veelzijdigheid en pure vreugde bij het ontwikkelen van uw webtoepassingen in ColdFusion 8. Het enige dat u nodig hebt, is wat ruimte op uw pc en 45 minuten.

Overzicht

U hebt wel of niet gehoord van ColdFusion of CFML (ColdFusion Markup Language), maar binnenkort zult u het geweldig vinden. Waarom zou u tijd verspillen met het ontwikkelen van 80 regels code in één taal als u hetzelfde zou kunnen doen in ColdFusion in niet meer dan vijf?

In deze zelfstudie willen we het volgende bereiken:

  • We gaan Adobe ColdFusion 8 downloaden en installeren en een ontwikkelserver maken op je pc.
  • Leer de basisprincipes van codering van ColdFusion-tags, inclusief zoekopdrachten en variabele persistentie.
  • We gaan Railo Express, een opensource CFML-engine, als alternatief downloaden en installeren.

Download en installeer Adobe ColdFusion 8

Allereerst moeten we een kopie van ColdFusion 8 downloaden vanaf de volgende locatie: http://www.adobe.com/go/trycoldfusion.
Zoals bij alle Adobe-downloads, moet je inloggen of een account maken als je er nog geen hebt. Selecteer de 'Developer Edition' en kies de applicatie die relevant is voor uw besturingssysteem, in mijn geval 'English | Windows | 374.8MB'.

Nadat het downloaden is voltooid, voert u het installatiebestand uit en volgt u de volgende stappen om uw installatie van ColdFusion 8 te voltooien!

Klik op Volgende om door te gaan vanaf het introductiescherm en accepteer de ColdFusion 8-licentieovereenkomst voor de volgende.

In het configuratiescherm voor installatie willen we de ontwikkelaarseditie installeren, dus vink het vakje aan en klik op de knop 'Volgende'.

Het serverconfiguratiescherm toont drie opties voor installatie. Voor deze zelfstudie hebben we de eerste optie 'Serverconfiguratie' nodig, die een zelfstandige server gebruikt. Selecteer deze optie en ga naar het volgende scherm.

Hier kunnen we subcomponenten selecteren die moeten worden opgenomen in de installatie. In deze zelfstudie hebben we de '.NET Integration Services' of de 'Adobe LiveCycle Data Services ES'-componenten niet nodig, dus kies die niet en selecteer alleen de drie resterende opties. Klik op 'Volgende' om door te gaan.

Standaard is de installatiemap C: \ ColdFusion8. Laat dit zoals het is. Als u de map wilt wijzigen, moet u er rekening mee houden dat verdere opmerkingen in deze zelfstudie verwijzen naar dit installatiepad, dus u moet mogelijk de paden aanpassen aan uw wijzigingen.

Voor webserverconfiguratie gebruiken we de 'Built-in web server', dus selecteer deze optie en klik op 'Volgende'.

Selecteer een wachtwoord voor toegang tot de ColdFusion-beheerder. Voer dit twee keer in en klik op 'Volgende' om door te gaan.

Selecteer 'RDS inschakelen' en voer een wachtwoord in. Klik op 'Volgende' om door te gaan.

Je bent er bijna! Het volgende scherm toont het installatieoverzicht en details van de ColdFusion-configuratie. Let op het poortnummer (8500) onder de kop 'Serverinformatie'. ColdFusion wordt uitgevoerd op dit poortnummer, dus uw ColdFusion-serveradres is 'http: // localhost: 8500 /. Klik op de knop 'Installeren' en laat de goede tijden rollen. Het installatieprogramma doet nu zijn ding en voltooit de installatie voor u.

Tijdens de installatie ziet u verschillende opstartschermen en berichten die enkele van de opties en voordelen benadrukken die beschikbaar zijn wanneer u ColdFusion gebruikt.

Nadat de installatie is voltooid, wordt u gevraagd om u aan te melden bij de configuratiewizard, die de beheerinterface voor u zal instellen. Het adres is http: // index ost: 8500 / CFIDE / administrator / index.cfm, maar door de optie 'De configuratiewizard starten in de standaardbrowser' in te schakelen, wordt het adres automatisch voor u geladen.

Voer het Adminstrator-wachtwoord in dat u in de eerdere fasen van de installatie had gedefinieerd en klik op de knop 'Aanmelden'. Dat is het. U hebt met succes een ColdFusion-ontwikkelserver opgezet.

U krijgt nu de interface van de ColdFusion-beheerder te zien. Hiermee kunt u alle aspecten van uw ColdFusion-server beheren, gegevensbronnen toevoegen, debug-uitvoer in- of uitschakelen, sessie- en applicatietime-outs beheren en nog veel meer. Voor nu hoeven we ons hier niet al te veel zorgen over te maken, omdat het is ingesteld voor alles wat we nodig hebben in deze tutorial.

ColdFusion-tags en codering

Nu de ColdFusion-server is geïnstalleerd, is het tijd voor het typische 'Hello World'-voorbeeld en om de basisprincipes van ColdFusion te leren kennen.

Zoals eerder in deze zelfstudie is vermeld, is ColdFusion een op tags gebaseerde taal en een die comfortabel moet zijn voor iedereen die ooit een HTML-tag in zijn leven heeft getypt.
Een groot voordeel, en een om te onthouden als u een tagnaam voor een specifieke functie niet kunt onthouden, is dat alle ColdFusion-tags beginnen met het voorvoegsel 'CF'.

Als u bijvoorbeeld een variabele wilt instellen, gebruikt u de tag 'cfset'. Voor het uitvoeren van gegevens zou u de tag 'cfoutput' gebruiken. Als u een bereik of een variabele wilt dumpen, gebruikt u de tag 'cfdump'.
Ik wed dat je niet kunt raden welke tag je zou gebruiken om een ​​query uit te voeren? Als je 'cfquery' hebt geraden, heb je 100% gelijk.

Maak een nieuw bestand met de naam 'index.cfm' en sla het op in de webroot van uw ColdFusion-installatie (in dit geval C: \ ColdFusion8 \ wwwroot).
Voeg het volgende codefragment toe aan uw .cfm-pagina, sla het opnieuw op en bekijk het meesterwerk in uw browser (http: // localhost: 8500 / index.cfm)

  # StrHelloWorld #

Perfect! Je bent op weg om een ​​CF-goeroe te worden. Wat hebben we gedaan? We hebben een stringvariabele 'strHelloWorld' gemaakt met behulp van de cfset-tag. Voor het uitvoeren van de gegevens hebben we de cfoutput-tags gebruikt en de variabelenaam omringd door hashmarkeringen. Dit zijn we aan het vertellen aan ColdFusion, het is een dynamische variabele. Verwijder de hekjes aan beide zijden van de tekst 'strHelloWorld' en sla het bestand opnieuw op en bekijk het. Zie je wat ik bedoel? Zonder de hekjes, wordt de waarde weergegeven als een letterlijke tekenreeks.

Tijd voor een vraag

Laten we nu een zoekopdracht proberen. Binnen de CF Adminstrator (http: // localhost: 8500 / CFIDE / administrator / index.cfm) onder het menu 'gegevensbronnen', kunt u zien dat er een paar standaarddatabases voor u zijn gemaakt. Laten we een snelle query uitvoeren op een van de databases.

Voeg de volgende code toe aan uw index.cfm-pagina:

  SELECT firstName, lastName, artistID FROM artists  

Wat is dit? Met behulp van de eerder genoemde cfquery-tag maken we een nieuwe query met behulp van de gegevensbronnaam die wordt geleverd door de beheerder.

Alle SQL-code, of het nu een UPDATE, SELECT, INSERT of DELETE is, valt binnen de cfquery-tags.

We hebben de vraag een specifieke naam gegeven, in dit geval 'qArtists'. We gebruiken deze naam om naar de query te verwijzen en gegevens van het object te verkrijgen, wat we in de volgende tag doen, 'cfdump'.
Deze tag is essentieel in de ontwikkeling van ColdFusion en biedt u de mogelijkheid alles te bekijken, van strings tot complexe structuren, arrays en objecten.

Sla het bestand op en bekijk de resultaten in uw browser.

Het query-object is nu zichtbaar op de pagina, toont de resultatenset, de uitvoeringstijd, of de query in de cache is opgeslagen of niet, en de sql die is gebruikt om de resultaten te verkrijgen.

Doorloop de gegevens

Dus nu hebben we de gegevens, wat kunnen we ermee doen?
Laten we de query doorlopen en de namen in een lijst weergeven, met behulp van de cfloop-tag (ik zei dat de tags gemakkelijk te onthouden waren).

Voeg de volgende code toe aan de index.cfm-pagina onder de querydump:

 
  • #voornaam Achternaam#

Leuk en gemakkelijk. Tot dusverre hebt u een stringvariabele gemaakt en weergegeven, een query uitgevoerd tegen een database, de waarden gedumpt en de resultaten met een lus uitgevoerd, alles in ongeveer 12 regels code.
Het mooie van ColdFusion-ontwikkeling is dat het snel, snel ontwikkelt en gemakkelijk te begrijpen is.

Persistente gegevens en de toepassingsscope

Een belangrijk onderdeel van ColdFusion-ontwikkeling is de mogelijkheid om gegevens, informatie en variabelen in de hele applicatie te behouden. Dit kan eenvoudig worden bereikt met behulp van het toepassingsbereik en de pagina Application.cfm. Deze pagina bevindt zich in de hoofdmap van uw toepassing en wordt bij elke paginavraag aangeroepen, wat betekent dat alle gegevens die erin zijn opgenomen op elke pagina beschikbaar zijn. Dit is perfect voor het creëren van echt schaalbare, dynamische toepassingen. Een voorbeeld uit de echte wereld is om de naam van de gegevensbron in een variabele te veranderen.

Maak een nieuw bestand met de naam 'Application.cfm' in uw webroot en voeg het volgende toe:

   

Open de index.cfm-pagina in uw bestandseditor en wijzig de naam van de gegevensbron in de variabele '# application.dsn #' die u zojuist hebt gemaakt, zodat de code er nu als volgt uitziet:

  SELECT firstName, lastName, artistID FROM artists  

Sla het bestand index.cfm op en bekijk het in uw browser.

U kunt nu zien dat de toepassingsscope van het bestand Application.cfm naar de pagina is gedumpt en de query werkt nog steeds met de variabele als gegevensbron.

URL-variabelen en validatie

We hebben een link gemaakt binnen de lus naar page2.cfm, dus we moeten die pagina maken en opslaan in de webroot. We verzenden de variabele artistID en we willen een nieuwe query uitvoeren om kunstwerken van die specifieke artiest te verwijderen.

Voeg de volgende code toe aan het bestand page2.cfm:

   SELECT artName, beschrijving, prijs FROM art WHERE artistID =   

Voortbouwend op wat we al hebben geleerd, dumpen we en geven we de inhoud van de URL-scope weer. We kunnen zien dat het de parameter bevat die we hebben doorgestuurd in de URL.
Er is een nieuwe query met een SELECT-instructie uit een nieuwe tabel 'Art', waarbij records worden opgehaald waarbij de artiest-ID overeenkomt met de doorgestuurde URL in de URL.

Er is een belangrijke tag genest in de query met de naam cfqueryparam, een methode van onschatbare waarde om SQL-injectie van waarden te voorkomen die zijn doorgegeven via de URL- of FORM-scopes. Als u optionele parameters opgeeft, wordt met deze tag gegevensvalidatie uitgevoerd op het type dat wordt verzonden.

Een laatste cfdump-tag geeft het query-object weer en deze keer toont ook SQLParameters die doorgestuurd zijn in een array-object.

Voeg de volgende code onder de query in page2.cfm toe om nogmaals door de gegevens te bladeren:

   

# ArtName #
#Omschrijving#
#prijs#


Sorry, er zijn geen records die voldoen aan uw criteria.

De lus is dezelfde als die eerder in deze tutorial is geschreven, het enige verschil is de cfif-tags die eromheen zijn gewikkeld en die alleen de lus uitvoeren als er records zijn binnen de queryresultaten.

Het maken van afbeeldingen is eenvoudig

Een van de nieuwste tags binnen ColdFusion 8 is de cfimage-tag, waarmee ontwikkelaars on-the-fly afbeeldingen kunnen maken, weergeven, opslaan en manipuleren. Er kan zoveel worden gedaan met deze fantastische tag, maar ik zal u een eenvoudig, real life-voorbeeld laten zien voor zijn gebruik.

Het maken van uw eigen CAPTCHA-afbeelding was nog nooit zo gemakkelijk. Maak een nieuw bestand met de naam image.cfm en plak de volgende code in:

 

Van één ColdFusion-tag hebt u uw eigen CAPTCHA-afbeelding gemaakt en direct in de browser weergegeven.

ColdFusion-verwijzingen en documentatie

Je hebt nu ColdFusion 8 geïnstalleerd, je hebt het oppervlak van basistags en variabelen aangeraakt, je hebt een query uitgevoerd en geholpen deze te beschermen met validatie.

Om de andere tags, voorbeelden van gebruik en andere inbegrepen functies te verkennen, hebt u ook de ColdFusion-documentatie op uw machine geïnstalleerd (ervan uitgaande dat u de 'ColdFusion 8-documentatie' optie hebt geselecteerd in de installatiestappen), die u kunt openen via de volgende lokale adres:


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

Als u deze optie uitschakelt, of als u zich op een andere computer ontwikkelt, zijn de platforms ook online beschikbaar op het volgende adres:

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

ColdFusion staat bekend om zijn grote en vriendelijke gemeenschap. Er is een overvloed aan forums, blogs, feeds en groepen om te lezen, mee te doen of advies te vragen, dus wees blij met de wetenschap dat je nooit ver van een antwoord bent.

Open Source CFML - Get Railo

Een optie voor een snelle, schone CFML-applicatieserver is Railo, de nieuwe open source CFML-engine. Voor deze zelfstudie gebruiken we het Railo Express-pakket en installeren op een localhost-webserver. Railo is een kleine, zelfstandige CFML-engine die alle tags en functies gebruikt die zijn opgenomen in Adobe ColdFusion, plus een paar andere die dat niet zijn. De uiteindelijke download is zo klein en compact dat je hem kunt opslaan en de server vanaf een USB-stick kunt laten werken, wat ik ook doe, zodat je onderweg met CFML kunt ontwikkelen en spelen.

Railo downloaden

U kunt de Express-versie downloaden door naar de Railo-downloadpagina te gaan en de release te selecteren die relevant is voor uw besturingssysteem

Nu dat het zip-bestand geopend is, extraheer de inhoud naar een locatie op uw harde schijf. Ik heb meestal de neiging om het in de hoofdmap van de C: schijf te plaatsen, hoewel je het overal kunt plaatsen dat het best bij je past. Ik vind persoonlijk dat de mapnaam die is gegenereerd door de zip-bestandsextractie te lang is. Misschien wilt u het zoals het is houden, bijvoorbeeld C: \ railo-3.1.0.012-railo-express-6.1.0-3-1-with-jre-windows, of wilt u het hernoemen naar C: \ railoExpress of iets anders dat gemakkelijker te onthouden is. Dubbelklik in de uitgepakte map op het bestand 'start.bat' ('start.sh' als je Linux gebruikt). Dit batchbestand zal de server voor u instellen en alles creëren wat u nodig heeft om binnen enkele seconden operationeel te zijn.

Zoals u kunt zien aan het einde van de opdrachtprompt, is de server voor u aangemaakt op poort 8888. Gebruik uw browser naar keuze, ga naar http: // localhost: 8888 /. Je kunt meteen zien dat de standaard index.cfm-pagina wordt weergegeven en gegevens, variabelen en scopes worden 'gedumpt' om aan te geven dat de installatie succesvol was.

Bovenaan de standaardpagina staat de link naar de Railo-serverbeheerconsole, meestal 'http: // localhost: 8888 / railo-context / admin / index.cfm'.
Ik zou willen voorstellen dat je een bladwijzer maakt voor deze link om ervoor te zorgen dat je hem altijd bij de hand hebt. U kunt uiteindelijk de index.cfm-pagina vervangen of overschrijven en u wilt niet het risico lopen deze koppeling te verliezen.
Klik op de link om door te gaan naar de beheerpagina's.

U krijgt twee opties voor Railo-beheer; Webbeheerder (die instellingen per website configureert) en serverbeheerder (die de algemene instellingen voor de hele server configureert). Selecteer de optie 'Serverbeheerder' en maak uw wachtwoord voor het account aan.

De instellingen binnen de Railo-beheerder zijn vergelijkbaar met die van de ColdFusion-beheerdersinterface, dus het vinden van uw weg ernaartoe is eenvoudig.

Alle .cfm-bestanden die u voor uw Railo-server schrijft, moeten in de volgende map worden geplaatst: C: \ railoExpress \ webroot (hoewel dit anders zal zijn als u uw Railo-map iets anders noemt).

Het laatste woord

In deze zelfstudie hebt u twee CFML-servers ingesteld, het gemak van ColdFusion-codering ervaren en enige kennis van de toepassingsscope opgedaan. Dus waarheen vanaf hier? Ik had gemakkelijk kunnen schrijven voor nog eens 500 pagina's of zo veel meer code, objecten en functies met je delen, en ik zie ernaar uit om binnenkort meer met je te delen, maar in de tussentijd zijn hier enkele zeer nuttige bronnen voor je die je misschien leuk vindt bezoeken:

  • ColdFusion 8 installeren
  • Railo Open Source
  • cfbloggers.org
  • Volg ons op Twitter, of abonneer je op de NETTUTS RSS-feed voor meer dagelijkse webontwikkelingen, tuts en artikelen.