Опубликован: 07.11.2006 | Уровень: специалист | Доступ: платный
Лекция 19:

Flash, ColdFusion и Remoting

< Лекция 18 || Лекция 19: 1234567
Аннотация: В данной лекции рассматривается ещё один продукт Macromedia - ColdFusion. Дано краткое описание основных тэгов языка, а также рассказано об удаленном сервисе Flash Remoting. Flash Remoting облегчает разработчикам передачу сложных данных на сервер и с сервера.

Внимание! Для работы с этой лекцией необходимы учебные файлы, которые Вы можете загрузить здесь.

ColdFusion - это еще один язык сценариев на стороне сервера, предназначенный для тех же целей, что и PHP.

Если вы пропустили "Динамический Flash: PHP" , то вам определенно следует обратить внимание на параграф под заголовком "Два сервера Вероны", чтобы получить представление о том, что такое сценарий на стороне сервера.

Существует несколько языков сценариев на стороне сервера, например ASP, ASP.Net, Java Server Pages и Perl, однако в этой книге мы рассматриваем именно PHP и ColdFusion. Популярность PHP связана с высокой производительностью и бесплатным распространением. ColdFusion - программа вовсе не бесплатная, на момент написания этой книги ее Enterprise-версия стоила $4999. Профессиональная версия стоит $799, и это тоже немало.

ColdFusion (CF) разработан Macromedia для серверов приложений. Разработка приложений с помощью CF предоставляет разработчику несколько преимуществ. В этом пакете содержится среда быстрой разработки приложений (RAD), позволяющая разработчику легко создавать и публиковать веб-приложения, поскольку CF использует теговый язык разметки, наподобие HTML. Можно сказать так: то, что вы потратите при покупке CF, будет компенсировано сокращением времени разработки. Приложения, создаваемые с помощью CF, обычно занимают меньше времени, что, несомненно, экономит деньги разработчика или целой компании. CF очень легок в изучении, и вам не потребуется много времени, чтобы изучить все его особенности и научиться применять его на полную мощность. Из этого следует, что приложения CF могут разрабатываться быстрее, чем аналогичные продукты с помощью ASP и PHP.

Macromedia ColdFusion MX теперь работает с компонентами Flash Remoting, выступающими как средства связи между Flash MX и сервером. Компоненты Remoting в данный момент недоступны для PHP, так что здесь необходимо применять некоторые более старые методы.

Начнем изучение ColdFusion

Пробную версию ColdFusion MX можно загрузить с веб-сайта Macromedia по адресу www.macromedia.com/software/trial_download. Trial-период истечет после 30 дней, пакет переключится в режим IP и сервер CF будет доступен с IP-адреса, что позволит разработчику тестировать приложения. CF MX можно установить на серверах с Unix, Linux и Windows. Он также прекрасно интегрируем как с серверами IIS, так и с Apache-серверами. У CF MX сейчас есть отдельный веб-сервер, который можно использовать для разработки и тестирования. В процессе разработки приложений рекомендуется использовать один из вышеупомянутых веб-серверов. CF относительно прост в установке, и его настройка не займет много временем перед началом разработки приложений.

Имейте в виду, что если вы используете пробную версию ColdFusion MX на своем компьютере при работе с этой лекцией, вам необходимо перезагрузить компьютер после инсталляции перед тем, как непосредственно открывать CF Administrator и начинать работу.

Для создания CF-приложений можно использовать простой текстовый редактор, совместимый со многими операционными системами. Просто не забудьте сохранить ваши файлы с расширением CFM для шаблонов FC и CFC для компонентов CF. CFC будут рассмотрены позднее в этой лекции, когда мы затронем непосредственно само приложение. Существует несколько интегрированных сред разработки (Integrated Development Environments, IDE), такие как Macromedia ColdFusion и Dreamweaver MX. Эти программы намного облегчают разработку благодаря подсказкам в коде и файлам справки, объясняющим назначение различных тегов CF. Рассмотрим вкратце синтаксис CF и его назначение.

Основы

Написание кода CF не сложнее создания HTML-документа, и вы убедитесь в этом, как только изучите основные моменты работы с CF. В следующем примере показано несколько тегов CF и их синтаксис (в приложениях в конце лекции все будет рассмотрено подробнее). Изучив теги и их атрибуты, можно перейти к разработке сложных веб-приложений. Для начинающих проведем краткое рассмотрение основных тегов CF и объясним их назначение. Так как нам не хватит времени, чтобы рассказать обо всех тегах, начнем с наиболее важных, но в своем дальнейшем обучении вы можете отталкиваться от знаний, которые получите сейчас. На прилавках магазинов есть много хороших книг по CF, и я рекомендовал бы вам купить пару таких книг, если вы заинтересованы в продвижении в сфере программирования в CF.

Сначала мы рассмотрим настройку выходных переменных на странице. Переменные являются неотъемлемой частью программирования и могут быть использованы для хранения чисел, строк, массивов и структур. Чтобы установить переменную в ColdFusion, используется тег <cfset>.

<cfset variables.subject = "Flash Remoting">

Мы создали переменную с именем subject, содержащую значение "Flash Remoting". Теперь, после установки переменной, можно вызвать ее с помощью тегов <cfoutput>. С помощью этих тегов происходит интерпретация всего, что находится между знаками #, в качестве переменных.

<cfoutput>#variables.subject#</cfoutput>

Результатом этой строки будет значение переменной subject, которое выведется на странице. CF поддерживает множество типов переменных. Вот некоторые из них.

  • Переменные (локальные)
  • Form
  • URL
  • client
  • cookie
  • session

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

Рассмотрим простой шаблон, демонстрирующий настройку и вывод переменной на страницу. Можно создать файл в редакторе обычного текста, однако не забудьте сохранить его в файле с расширением CFM. Именем файла будет welcome.cfm.

<html>
<head>
<title>CF Example</title>
</head>
<body>

<!--- set the variable --->
<cfset subject="Flash Remoting">

<!--- output the variable --->
<cfoutput>
Welcome to the world of #variables.subject# 
</cfoutput>

</body> 
</html>

Имейте в виду: переменные CF не чувствительны к регистру, как в большинстве языков программирования, "subject" и "Subject" в CF являются одной и той же переменной.

Теперь нужно просто перейти на ваш локальный веб-сервер с CF и осуществить доступ к данной странице, т.е. перейти по адресу http://localhost/examples/welcome.cfm. На странице вы увидите надпись "Welcome to the world of Flash Remoting", однако сначала скажем несколько слов о комментариях, приведенных в коде выше. Как вы уже знаете, комментарии в HTML выглядят таким образом: <!- комментарий ->. Их можно использовать и в шаблонах CF, однако иногда предпочтительнее использовать комментарии CF. В них используется синтаксис <!--- CF-комментарий ---> (обратите внимание на три дефиса вместо двух). Преимущество использования комментариев CF заключается в том, что они не отображаются на странице, если пользователь выбирает опцию отображения исходного кода View Source. Они доступны только на серверной части при просмотре кода. Это очень полезная возможность!

В любом языке программирования должна быть возможность выносить решения с использованием логики. Здесь вступает в силу тег <cfif>. Этот тег позволяет разработчикам выполнять специфические задачи, например, когда пользователь делает определенный выбор или ожидаются определенные результаты.

<cfset variables.product = "ColdFusion">

<cfif variables.product eq "Flash">
Macromedia Flash was chosen.
<cfelseif variables.product eq "ColdFusion">
Macromedia ColdFusion was chosen.
<cfelse>
No selection was made.
</cfif>

Создав шаблон и осуществив доступ к нему через браузер, вы увидите надпись "Macromedia ColdFusion was chosen". Поэкспериментировав с переменной продукта, вы увидите, что могут генерироваться различные результаты.

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

< Лекция 18 || Лекция 19: 1234567
Игорь Хан
Игорь Хан

у меня аналогичная ситуация. Однако, если взять пример из приложения (ball_motion_04_click for trial.fla) то след остается. при этом заметил, что в моем проекте в поле "One item in library" виден кружок, в то время как в приложенном примере такого кружка нет.

Вопрос знатокам, что не так?

Александр Коргапольцев
Александр Коргапольцев

объект созданый мной упорно не желает оставлять след(единственное что добился, так это то что шарик резво гоняется за курсором) функция duplicateMovieClip остаётся не активной, т.е. следа от объекта не остаётся, но если я тоже самый код вбиваю в учебный файл всё работает, не могу понять где я ошибаюсь и почему в документе созданном заново, не работает код начиная от функции duplicateMovieClip? 

Тамара Ионова
Тамара Ионова
Россия, Нижний Новгород, НГПУ, 2009
Магомед Алисултанов
Магомед Алисултанов
Россия, Волгоград, лицей 2