Начало работы с ColdFusion? - PullRequest
       16

Начало работы с ColdFusion?

8 голосов
/ 27 января 2010

Я только что скачал ColdFusion Builder (CFB) и сейчас пытаюсь написать простое приложение "Hello World". Но мне сначала нужен какой-нибудь сервер, не так ли? Теперь, что именно я здесь ищу? Похоже ли ColdFusion на модуль, работающий поверх Apache, или это сам сервер? Что это за JRun, который я вижу в CFB? Корень контекста? Имя пользователя RDS? Я пытаюсь найти учебники в Google, но все, что я нахожу, - это новые языковые функции в CF9, которые мне не очень помогают, и вещи, относящиеся к "MX", который, по-моему, с 2003 года.

Базы данных. Использует ли ColdFusion свою собственную схему базы данных или она взаимодействует с чем-то вроде MySQL?

А как насчет фреймворков? Я понимаю, что CFML предлагает теги в стиле HTML и тому подобное, но предлагает ли он какую-либо инфраструктуру MVC для разработки веб-сайтов?

Я в некоторой степени понимаю LAMP и Python / Apache / WSGI, но пока не совсем понимаю этот CF. Может ли кто-нибудь указать мне правильное направление?

Ответы [ 5 ]

19 голосов
/ 27 января 2010

Coldfusion - это сервер обработки сценариев, написанный на Java. Для Coldfusion требуется Java-сервер (например, JRun), веб-сервер (например, Apache), а до Coldfusion 9 - сервер базы данных, если вы будете использовать базу данных. К счастью, в редакцию для разработчиков входит все это для вас.

Для производства вам потребуется отдельный веб-сервер, такой как IIS или Apache, поскольку встроенный веб-сервер предназначен только для разработки. Скорее всего, вам понадобится отдельный сервер баз данных, такой как MySQL или Microsoft SQL. Но, если у вас нет особых потребностей, вы, вероятно, можете поладить со встроенным Java-сервером JRun и не беспокоиться об этом аспекте Coldfusion.

Если вы работали с любым PHP, Coldfusion будет несколько похож на то, как он настроен на сервере и как код и HTML интегрированы вместе на странице скрипта. (ДА, есть различия, но это достаточно хорошее сравнение в отличие от настройки .Net)

Coldfusion имеет собственную встроенную базу данных, или вы можете выбирать из множества других баз данных. Вам следует установить соединение с базой данных, которое называется «источником данных» в Coldfusion Administrator, и после этого будет действительно очень просто использовать его с помощью тега cfquery.

Если вы новичок в Coldfusion, я бы пропустил все сторонние фреймворки, пока вы не разберетесь с тем, как Coldfusion и ваше существующее приложение будут работать первыми. Все это добавляет ненужную сложность, если вы новичок, а документация для фреймворков немного скудна.

Просмотрите исходный код. Задайте здесь отдельные вопросы о том, что это значит.

Самый быстрый способ найти документы для определенной функции Coldfusion - это Google:

«Coldfusion 8 cftagname» (например, «Coldfusion 8 cfquery» или «Coldfusion 8 cfqueryparam»)

или

«Имя_функции Coldfusion 8» (например, «Coldfusion 8 structKeyExists»)

Нажмите на получившуюся ссылку liveocs.adobe.com. (Google работает НАМНОГО лучше, чем внутренняя поисковая система сайта, и Coldfusion 8, похоже, лучше всего связан с Google)

Тег cfdump удобен для простой отладки.

Наконец, вот пример Hello World:

index.cfm (стандартные страницы Coldfusion используют расширение .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>

Надеюсь, это поможет.

7 голосов
/ 27 января 2010

Загрузите ColdFusion и установите «версию разработчика» (бесплатно). Он также может работать со встроенным веб-сервером (порт 8500 по умолчанию). При желании вы можете использовать практически любой веб-сервер, например Apache или IIS.

RDS - это ...

компонент безопасности ColdFusion Сервер, используемый ColdFusion Администратор и ColdFusion Studio для обеспечить удаленный HTTP-доступ к файлам и базы данных.

Мастер установки спросит, хотите ли вы включить его или нет перед установкой.

Вы можете либо установить CF на свой локальный компьютер, либо установить его на тестовом / dev сервере, по вашему выбору. :)

Соединение с базой данных обрабатывается DSN (имя источника данных). Вы можете настроить его, как только вы установили CF и войдите в админку. Затем вы можете настроить CF для связи с MS-SQL / mySQL или любой другой БД, поддерживаемой JDBC. CF также поставляется со встроенной СУБД Apache Derby.

Чтобы изучить ColdFusion, прочитайте замечательный документ: CF9 , CF8 (CF9 обратно совместим на 99,9% с более ранними версиями. Однако, если вы поддерживаете существующее приложение, большинство скорее всего, это будет версия 8 или 7. Так что учитесь у соответствующего документа).

MVC Рамки? Вот список , но для небольших приложений они на самом деле не нужны.

Проверьте FW / 1 , ColdBox или Mach-II . Если вам нравится RoR, вам также понравится CFWheels . Удачи ~

4 голосов
/ 27 января 2010

Существует множество систем холодного синтеза MVC:

  • CFWheels представляет собой Rails-подобный каркас

  • ColdBox - это расширенный OO-фреймворк и набор библиотек.

Оба активно поддерживаются и активно развиваются.

3 голосов
/ 20 апреля 2011

Оформить заказ CFML за 100 минут https://github.com/mhenke/CFML-in-100-minutes

Это охватывает:

  1. Синтаксис
  2. Переменные
  3. Компоненты, методы и параметры
  4. Строка
  5. Цифры
  6. Запросы
  7. Массивы
  8. Структура
  9. Conditionals 1. Если, иначе, если & остальное 2. Цикл
    1. Nothingness & Null
0 голосов
/ 27 января 2010

Просто вопрос. Это твой родной язык? Я перестал программировать в cf, когда вышел .net. Гораздо больший рынок труда для c # по сравнению с cf.

Да, вам понадобится cf сервер. Интересный язык / платформа для создания веб-приложений!

...