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

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

PHP для обычных пользователей

В этом разделе мы рассмотрим основы языка PHP. Не волнуйтесь, если одна мысль об этом вызывает испуг - PHP на самом деле во многом похож на ActionScript, поэтому изучение его основ не трудно. Этот параграф не является законченным руководством по PHP, так как места здесь хватило только лишь на изучение некоторых его частей. В конце этой лекции вы уже сможете создавать ваши собственные несложные сценарии, однако если вы хотите серьезно заняться изучением PHP, вам понадобится книга, посвященная этой тематике. Так получилось, что я написал такую книгу для Friends of ED, поэтому вам будет легко ее найти! Книга называется Foundation PHP for Flash, и в ней дается полное руководство по использованию преимуществ PHP совместно с Flash для создания динамического содержимого в ваших фильмах.

Итак, довольно лирики, приступим к делу.

Файлы PHP, по существу, являются просто файлами ASCII (или обычным текстом), как документы HTML, поэтому вам понадобится текстовый редактор. Многие люди предпочитают вводить PHP-код в окнах текстовых редакторов Блокнот или BBEdit, но я предпочитаю редактор EditPlus. Это коммерческий редактор, который включает в себя выделение синтаксиса для многих языков серверной части, включая PHP.

Давайте рассмотрим простой сценарий PHP. Введите следующий текст в пустой документ, сохраните файл с именем hello_world.php и отгрузите его на веб-сервер.

<?
  print "Hello World!";
?>

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

http://www.somewhere.com/path/to/hello_world.php

В окне браузера появится следующее.


Разберем структуру этого простого сценария.

  • Первая и последняя строки содержат теги <? и ?>. Они сообщают серверу о том, что все, что находится между этими тегами должно быть интерпретировано в качестве PHP-кода и обработано процессором PHP, а не просто передано обратно браузеру и отображено. Вы можете добавлять любое количество этих тегов на страницу и вставлять их, например, в HTML или XML-код, однако для наших целей в этой лекции мы будем использовать только один их набор, поэтому можно об этом не беспокоиться.
  • Внутри этих тегов имеется одна строка кода, которая говорит сама за себя. Как вы, вероятно, предполагали, команда print просто выводит аргумент в браузере, в данном случае - строку Hello World!

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

    <?
      for ($count = 0; $count < 10; $count++) { 
        print "Hello, world!<br>";
      } 
    ?>

    Это простой цикл PHP for, который очень похож на свой аналог в ActionScript и работает точно так же. Действие этого кода сводится к печати строки Hello, world! десять раз с тегом <br> между строками. Здесь мы используем тег <br> вместо символа новой строки, так как браузер интерпретирует выходные данные как HTML, поэтому нужно форматировать их с использованием тегов HTML.

    PHP использует переменные почти так же, как Flash, и в этой части PHP является довольно свободным языком. Это означает, что любая переменная может содержать любой тип данных, а также то, что тип данных может временно конвертироваться в процессе работы в зависимости от контекста, в котором он используется. Однако, в отличие от ActionScript, в PHP имя переменной отделяется с помощью символа доллара $. В последнем примере мы установили переменную $count на значение 0 и затем выполнили цикл, увеличивая ее с каждым разом на единицу. Как видите, на данном этапе структура языка сильно похожа на ActionScript.

    Существует ряд областей, в которых PHP и ActionScript отличаются друг от друга, и одной из них является способ конкатенации (слияния) строк. Когда нужно объединить две строки в ActionScript, используемтся оператор +. Однако в PHP оператор + предназначен только для математических операций, и вместо него используется "." (точка).

    $myVar = "Hello,"."world";

    Изучив основные моменты, посмотрим, как можно использовать этот язык.

Создание простого приложения электронной почты

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

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

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



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

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

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

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

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

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