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

Динамический Flash: PHP

Аннотация: В данной лекции проводится краткое знакомство с одним из наиболее мощных языков программирования на стороне сервера - PHP, а также описаны способы его использования с Flash.

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

Сегодняшний мир переполнен сокращениями. Вспомните такие аббревиатуры, как HTML, XML, HTTP, не забудьте и про Flash MX. Я хочу представить вам еще одно сокращение, о котором пойдет речь в данной лекции. PHP означает Hypertext Pre-Processor, это один из наиболее мощных языков сценариев серверной части. Примите это к сведению как веб-разработчик.

В этой лекции мы начнем с того, что представляет собой PHP, и немного поговорим о его истории.

История 101

Язык PHP был создан в конце 1994 года, когда Rasmus Lerdorf объединил набор сценариев Perl для сохранения записи посетителей его сетевого резюме. Эти сценарии заинтересовали посетителей его сайта, и в 1995 году они были опубликованы под названием "Personal Home Page Tools".

Использование PHP быстро распространялось, так же как и количество разработчиков, занимающихся проектами PHP. На момент написания этой книги последней версией PHP является PHP 4, которая имеет доступ к большому числу дополнительных средств, некоторые из которых даже реализуют динамическое создание SWF-файлов, что называется, "с нуля".

Есть несколько моментов, которые необходимо иметь в виду при рассмотрении "движка" PHP (программа, непосредственно выполняющая сценарии PHP по команде веб-сервера).

  • Этот продукт доступен бесплатно, в т.ч. для использования в коммерческих целях.
  • Он является объектом Open Source. Это означает, что код доступен полностью и бесплатно и продукт постоянно развивается и совершенствуется разработчиками, сообщающимися друг с другом через интернет.
  • Существует множество сайтов, предлагающих бесплатные сценарии, от досок объявлений на базе HTML и программ поиска до сложных программ Flash.
  • Этот продукт доступен почти для любой платформы, включая Windows и ОС на базе Unix (например, Mac OSX).

Свежую информацию о PHP можно найти на сайтах www.php.net и www.zend.com.

Два сервера Вероны

Прежде чем приступать к работе с PHP, нужно познакомится с тем, что такое сценарий на стороне сервера и когда он должен использоваться. В этом параграфе я отвечу на поставленные вопросы и расскажу о том, как все "навороченные" сайты находят путь на ваш веб-браузер.

Ниже приведено определение сценария на стороне сервера.

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

Сценарий на стороне сервера позволяет выполнять некоторые процедуры на сервере перед возвратом веб-документа в браузер. Это может быть все, что угодно, начиная с управления файлами данных и заканчивая доступом к базе данных и динамической генерацией содержимого.

В стандартной настройке клиент-сервер клиентская программа (обычно это веб-браузер) открывает соединение с сервером и запрашивает файл. Сервер после этого возвращает файл клиентской части и соединение закрывается. Этот тип соединения используется при запросе, к примеру, HTML-файлов.


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


Чтобы вам было понятнее, рассмотрим простой пример. Я уверен, что вы уже более чем знакомы с различными поисковыми системами интернета. Я предпочитаю систему www.google.com, и если вы перейдете на этот сайт и выполните поиск по строке "Macromedia Flash", вы будете перенаправлены на список соответствующих сайтов. В данный момент результаты поиска нам не интересны. Вместо этого следует обратить внимание на адрес URL в адресной строке вашего браузера. Он будет выглядеть примерно так.

http://www.google/search?hl=en&q=Macromedia+Flash

Этот адрес можно разбить на две части. Первая из них означает страницу, которая нам нужна, в данном случае, это поисковая страница Google.http://www.google.com/search

Эта страница и есть сценарий на стороне сервера, созданный для поиска в бесчисленном множестве веб-сайтов любого текста, удовлетворяющего отдельным словам, которые мы только что указали. Слова и выбранный язык прилагаются к URL в виде строки запроса следующим образом.

hl=en&q=Macromedia+Flash

Здесь мы имеем дело с двумя переменными hl и q, устанавливаемыми на значения en и Macromedia+Flash, соответственно. Первая из них указывает язык поиска, вторая является критерием поиска или запросом и передается сценарию на стороне сервера или программе, используемой Google для поиска в базах данных. В данном случае это не сценарий PHP, однако важно понимать, что это мог быть именно PHP. Итак, поисковая система Google просто сопоставляет два источника информации - введенные пользователем данные и базу данных Google - после чего результаты передаются клиенту в виде HTML-страницы.

Самым замечательным является то, что сценарии на стороне сервера позволяют динамически создавать веб-содержимое. Можно изменять и адаптировать содержимое для определенного времени дня, для учета пользовательских предпочтений, для автоматического отображения списка последних новостей, для обновления сайтов. Все это можно проделывать без редактирования вручную указанных объектов.

Более того, с помощью сценариев на стороне сервера можно работать не только со страницами HTML - можно также создавать сценарии, возвращающие данные клиентам Flash, что значительно расширяет наши возможности. Этому и посвящена данная лекция.

Инсталляция PHP

Для работы с этой лекцией вам понадобится доступ к PHP веб-серверу. Если у вас есть свой собственный сервер, то вам нужно загрузить соответствующие файлы установки с сайта www.php.net, где также можно найти подробное руководство по установке. Имейте в виду, что для загрузки доступно несколько различных пакетов PHP с различными уровнями функциональности, однако пусть это вас не смущает - наиболее сокращенная версия как раз подойдет для работы в этой лекции.

Если у вас нет своего собственного сервера или вы не знаете, как превратить в сервер ваш собственный компьютер, вам нужно будет узнать в службе технической поддержки или у владельца компьютера, поддерживает ли он PHP и, если это не так, попробуйте уговорить их установить для вас эту поддержку!

Если у вас нет сервера, вы можете загрузить сервер apache с сайта www.apache.org.

Игорь Хан
Игорь Хан

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

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

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

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

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