2010-01-27 23 views
8

Właśnie pobrałem ColdFusion Builder (CFB), a teraz próbuję napisać prostą aplikację "Hello World". Ale najpierw potrzebuję jakiegoś serwera, prawda? Czego dokładnie tu szukam? Czy "ColdFusion" jest modułem, który działałby na Apache, czy jest to sam serwer? Co takiego JRun widzę w CFB? Kontekstowy katalog główny? Nazwa użytkownika RDS? Próbuję znaleźć Google'a w samouczkach, ale wszystko, co znajduję, to nowe funkcje językowe w CF9, które tak naprawdę mi nie pomagają, i rzeczy związane z "MX", które pochodzą z 2003 roku.Pierwsze kroki z ColdFusion?

Bazy danych. Czy ColdFusion używa własnego schematu bazy danych, czy też łączy się z czymś takim jak MySQL?

Co ze strukturami? Rozumiem, że CFML oferuje znaczniki w stylu HTML i takie, ale czy oferuje jakąkolwiek strukturę MVC do tworzenia stron internetowych?

W pewnym sensie rozumiem LAMPY i Pythona/Apache/WSGI, ale jeszcze nie do końca pojmuję tę CF. Czy ktoś może wskazać mi właściwy kierunek?

+1

proszę podzielenie na poszczególne pytania. –

+0

@Dan: Wydają się nieco zbyt proste, aby uzasadnić własne pytania. Potrzebuję tylko wskazówek, które poprowadzą mnie ze sobą, niezbyt zaniepokojonych, jeśli nie dostaniesz odpowiedzi na każdy szczegół. – mpen

Odpowiedz

19

Coldfusion to serwer przetwarzania skryptów napisany w Javie. Coldfusion wymaga serwera Java (takiego jak JRun), serwera WWW (takiego jak Apache), a przed Coldfusion 9 serwera bazy danych, jeśli będziesz korzystać z bazy danych. Na szczęście Edycja Rozwoju zawiera wszystko to, co jest wbudowane.

Do produkcji potrzebny jest oddzielny serwer WWW, taki jak IIS lub Apache, ponieważ wbudowany serwer WWW jest przeznaczony tylko do programowania. Najprawdopodobniej będziesz potrzebować oddzielnego serwera bazy danych, takiego jak MySQL lub Microsoft SQL. Ale jeśli nie masz konkretnej potrzeby, możesz prawdopodobnie dogadać się z wbudowanym serwerem JRun Java i na razie nie martwić się o ten aspekt Coldfusion.

Jeśli zrobiłeś jakiś PHP, Coldfusion będzie nieco podobny w sposobie, w jaki jest ustawiony na serwerze i jak kod i HTML są zintegrowane na stronie skryptu. (TAK, istnieją różnice, ale to wystarczająco dobre porównanie, w przeciwieństwie do konfiguracji .Net). Coldfusion ma własną bazę danych lub możesz wybierać spośród wielu innych baz danych. Powinieneś skonfigurować połączenie z bazą danych, zwane "źródłem danych" w Coldfusion Administrator, a potem będzie naprawdę, bardzo proste w użyciu po użyciu znacznika cfquery.

Jeśli jesteś nowicjuszem w Coldfusion, pominęłbym wszystkie frameworki innych firm, dopóki nie będziesz w stanie dobrze zrozumieć, jak Coldfusion i twoja istniejąca aplikacja działają jako pierwsze. To wszystko dodaje niepotrzebnej złożoności, jeśli jesteś nowy, a dokumentacja dla frameworku jest trochę skąpa.

Sprawdź kod źródłowy. Zadaj indywidualne pytania na temat tego, co to oznacza.

najszybszy sposób na znalezienie docs dla danej funkcji ColdFusion jest Google:

'ColdFusion 8 cftagname' (np 'ColdFusion 8 cfquery' lub 'ColdFusion 8 cfqueryparam')

lub

"Coldfusion 8 cffunctionname" (np. "Coldfusion 8 structKeyExists")

Kliknij na link będący wynikiem liveocs.adobe.com. (Google działa WAY lepiej niż wewnętrzna wyszukiwarka witryny, a Coldfusion 8 wydaje się być najlepiej połączony z Google)

Znacznik cfdump jest przydatny do prostego debugowania.

Wreszcie, oto przykład Hello World:

index.cfm (standardowych stron ColdFusion używać rozszerzenia .cfm)

<!--- All coldfusion tags begin with <cf 
    ...and Coldfusion comments have three dashes. 
    These comments will be removed on the server side 
    before being sent to the browser 
---> 

<!--- Set a greeting variable using standard cfset tag ---> 
<cfset greeting = "Hello World!!"> 


<!--- Begin HTML ---> 
<html> 
<head> 
</head> 
<body> 

     <!-- Normal HTML comment --> 
     <p>I could just say hello world with HTML</p> 

     <!--- In order to output Coldfusion within HTML, 
      wrap with the cfoutput tag. Variables in HTML are wrapped with hash marks: 
      Example: #varName# 
     ---> 
     <cfoutput> 
      <p>More HTML, blah, blah, blah...</p> 

      <!--- Outputs: Hello World! ---> 
      <p>#greeting#</p> 

      <!--- Or apply a Coldfusion function to the variable. 
        Wrap the variable name with a function name and 
        then wrap the function with hash marks to tell 
        the Coldfusion server to process the statement 
      ---> 

      <!--- Outputs: HELLO WORLD! ---> 
      <p>#ucase(greeting)#</p> 

     </cfoutput> 

    <!--- And another way to view the contents of a variable as a developer ---> 
    <cfdump var="#greeting#> 


<body> 
</html> 

nadzieję, że pomoże.

+0

To jest doskonała odpowiedź! Bardzo szczegółowy i bardzo pomocny! Żałuję, że nie mogłem cię usłyszeć wiele razy! – mpen

+0

Myślę, że jest to dobra rada, chociaż biorąc pod uwagę doświadczenie OP w innych językach, nie byłoby złym pomysłem także myślenie o strukturach. Jednym z najlepszych zasobów CF jest szybkość, z jaką można budować aplikacje, a dzięki strukturom takim, jak te wymienione w innych odpowiedziach, prędkość powinna wzrastać. (Można by argumentować, że całkiem nowy programista może nauczyć się także architektury, aby uniknąć niektórych zakulisowych działań, ale czasami jest to cenna wiedza, którą trzeba wykonać, a wykonanie jej w trudny sposób ułatwia tę czynność.) –

+0

Zapomniałem wspomnieć powyżej, że wspomniane przez Ciebie elementy "MX" pochodzą z Coldfusion w Macromedia w 2003 roku, kiedy wszystkie ich produkty zostały oznaczone przyrostkiem "MX", np. "Dreamweaver MX". To było po prostu oznaczenie marketingowe. Coldfusion rozpoczął się od Allare, został zakupiony przez Macromedia, a następnie Adobe. –

7

Pobierz ColdFusion i zainstaluj "wersję dla programistów" (za darmo). Może również działać z wbudowanym serwerem sieciowym (domyślnie port 8500). Opcjonalnie możesz użyć prawie dowolnego serwera WWW, takiego jak Apache lub IIS.

RDS ...

elementem bezpieczeństwa ColdFusion Server wykorzystywane przez Administratora ColdFusion i ColdFusion Studio do zapewnić zdalny dostęp HTTP do plików i baz danych.

Kreator instalacji zapyta, czy chcesz je włączyć przed instalacją.

Można zainstalować system CF na komputerze lokalnym lub zainstalować go na serwerze testowym/dev, do wyboru. :)

Połączenie z bazą danych obsługiwane jest przez DSN (nazwa źródła danych). Możesz go skonfigurować po zainstalowaniu CF i zalogowaniu się w obszarze administracyjnym. Następnie możesz skonfigurować CF, aby rozmawiać z MS-SQL/mySQL lub inną bazą danych obsługiwaną przez JDBC. CF ma również wbudowany DBMS, Apache Derby.

Aby dowiedzieć się ColdFusion, należy rozważyć czytania wspaniałą doc. CF9, CF8 (CF9 wynosi 99,9% wstecznie kompatybilne z wcześniejszymi wersjami Jednak jeśli utrzymania istniejącej aplikacji, najprawdopodobniej będzie to wersja 8 lub 7. Więc uczyć z odpowiedniego dokumentu).

Szkielety MVC? Here's a list, ale w przypadku małej aplikacji nie są one naprawdę potrzebne.

Zapoznaj się z FW/1, ColdBox lub Mach-II. Jeśli podoba Ci się RoR, spodoba Ci się także CFWheels. Powodzenia ~

+0

To nie jest mała aplikacja. To duża, duża aplikacja. Sądzę, że powinienem zacząć od pobierania samego ColdFusion, a nie budowniczego. Głupie mnie: D Teraz masz dużo więcej sensu, dzięki! – mpen

+0

:) Powodzenia w naprawie twojej dużej, dużej aplikacji. Może już pełno kodu spaghetti! Jeśli zamierzasz przekształcić aplikację w aplikację MVC, może pójść na FW/1, to jest chuda i średnia (najmniejsza krzywa uczenia się, dobry dokument). – Henry

0

Po prostu pytanie. Czy to twój pierwszy język? Porzuciłem programowanie, gdy pojawi się .net. Znacznie większy rynek pracy dla C# w porównaniu do cf.

Tak, potrzebny będzie serwer cf. Zabawny język/platforma do tworzenia aplikacji internetowych!

+0

Nie. Wiem, PHP, Python, C#, C++, MATLAB, ... To tylko jeden więcej, aby dodać do mojego zestawu umiejętności :) Zawsze natknąłem się na łatwe rzeczy. – mpen

+3

Tak, to trochę nieczytelna technika wkładania wysiłku w naukę, jeśli jeszcze tego nie wiesz. Możesz uzyskać lepszy zwrot z inwestycji z bardziej popularnych technologii. – UpTheCreek

+1

@UpTheCreek: być może nie jest to najczęściej używany język, ale nie zaszkodzi dać mu wskazówki, jak zacząć. –

4

Istnieje wiele MVC ram ColdFusion tam:

  • CFWheels jest Rails-jak ramowa

  • ColdBox jest zaawansowanym ramy OO oraz zestaw bibliotek.

Oba są aktywnie utrzymywane i mocno się rozwijają.

3

Zamówienie CFML 100 minut https://github.com/mhenke/CFML-in-100-minutes

obejmuje on:

  1. Składnia
  2. zmienne
  3. składowe, metod i parametrów
  4. Struny
  5. Liczby
  6. zapytania
  7. Tablice
  8. budowle
  9. warunkowe 1. Jeśli else if, & Else 2. Looping
    1. Nicość & Null