Статьи

Настройка инструментов разработки Flash Builder 4 и Eclipse PHP

В этой статье описывается, как разработчики PHP могут получить доступ к лучшим функциям производительности, доступным для кода PHP и Flex, в одной и той же IDE. Adobe Flash Builder 4 и инструменты разработки PHP (PDT) можно настроить для включения редактирования и отладки файлов PHP вместе с приложением Flex в одном и том же экземпляре Eclipse. Эта настройка обеспечивает доступ ко всем функциям PDT, таким как раскраска кода PHP и автоматическое завершение, в дополнение к функциям Flash Builder 4.

Загрузите образцы файлов для этой статьи здесь 

Дополнительные требования к этой статье


Плагин Flash Builder 4 Eclipse

Eclipse PHP Bundle — ( Узнать больше )

XDebug v2.0.4-5.2.8 (для пользователей Windows) — ( Подробнее )

WAMP Server v2.0f (или любая другая установка сервера IIS / Apache с поддержкой PHP 5.2.8) (для пользователей Windows) — ( Подробнее )

MAMP Server v1.9 (для пользователей Mac OS X) — ( Подробнее )

 

Настройка Flash Builder с помощью PDT

Процесс настройки начинается с установки базовой копии Eclipse.

  1. Разархивируйте дистрибутив Eclipse PHP (PDT) в удобном месте (например, C: \ eclipse-php-galileo-SR1-win32 ).
  2. Затем запустите установщик подключаемого модуля Flash Builder 4.
  3. Когда будет предложено выбрать между Eclipse в комплекте и существующей копией Eclipse, выберите «Подключить к другой копии Eclipse» (см. Рисунок 1) и введите папку, в которую вы установили дистрибутив Eclipse PHP ( C: \ eclipse-php-galileo-SR1- win32 , например).
  4. Нажмите Next и следуйте остальным инструкциям на экране для завершения установки.

Рисунок 1. Установщик подключаемого модуля Flash Builder 4

Это все, что нужно для того, чтобы настроить PDT и Flash Builder для совместной работы!

Включение поддержки отладки на PHP-сервере включает добавление библиотеки отладчика в путь к серверу, а затем ее настройку в файле php.ini. Для целей этого урока вы будете использовать XDebug. Однако есть и другие опции, такие как Zend Debugger, которые одинаково просты в настройке и использовании.

Если вы используете MAMP в Mac OS X, перейдите к шагу 5, так как XDebug связан с MAMP.

Если вы используете WAMP в Windows, выполните следующие действия, которые предполагают, что сервер WAMP настроен на D: \ wamp.

  1. Загрузите файл DLL XDebug и поместите его в место, доступное для установки PHP. Хорошее расположение — это обычно каталог ext установки PHP; например: D: /wamp/bin/php/php5.2.8/ext.
  2. Затем найдите файл php.ini, используемый вашей установкой PHP. В WAMP файл php.ini, настроенный для использования с сервером, находится в папке bin установленной папки apache, например: D: /wamp/bin/apache/apache2.2.11/bin/php.ini.
  3. Если вы хотите проверить местоположение файла php.ini, используемого вашей установкой PHP, вы можете запустить phpinfo () и отметить значение Loaded Configuration File (см. Рисунок 2). Для получения дополнительной информации о вызове phpinfo () см. Настройка среды сервера PHP с использованием Linux, Apache, MySQL и PHP .

Рисунок 2. Определение файла конфигурации из вывода phpinfo ()

4. Чтобы настроить PHP для использования установленного отладчика, добавьте следующие параметры в конец файла php.ini (при необходимости измените пути в соответствии с вашими настройками):

; Changes to enable XDebug 
; 
zend_extension_ts="D:/wamp/bin/php/php5.2.8/ext/php_xdebug-2.0.4-5.2.8.dll" 
zend_debugger.allow_hosts=127.0.0.1 
zend_debugger.expose_remotely=always 
xdebug.remote_port=9000 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="D:/wamp/tmp/xdebug" 
xdebug.remote_enable=On 
xdebug.remote_autostart=On 
xdebug.remote_host=127.0.0.1 
xdebug.remote_mode=req 
xdebug.remote_log="D:/wamp/tmp/xdebug"

5. Если вы используете Mac OS X, вам не нужно устанавливать XDebug отдельно, но вам нужно отредактировать файл MAMP php.ini. Откройте php.ini, и вы заметите, что закомментированная запись для zend_extension уже доступна. Замените эту запись следующим текстом:

[xdebug] 
zend_extension="/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so" zend_debugger.allow_hosts=127.0.0.1 
zend_debugger.expose_remotely=always 
xdebug.remote_port=9000 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="/tmp/xdebug" 
xdebug.remote_enable=On 
xdebug.remote_autostart=On 
xdebug.remote_host=127.0.0.1 
xdebug.remote_mode=req 
xdebug.remote_log=/tmp/xdebug 

6. Перезагрузите ваш сервер.

7. Чтобы проверить, была ли конфигурация завершена успешно, снова запустите phpinfo (). Расширение XDebug должно отображаться в выходных данных (см. Рисунок 3).

Рисунок 3. Информация о конфигурации XDebug в выводе phpinfo ()

Конфигурирование PDT

Теперь, когда у вас настроен отладчик, вы готовы настроить PDT для использования этого отладчика.

1. В Eclipse выберите «Окно»> «Установки»> «PHP».

2. Чтобы настроить исполняемый файл PHP, нажмите «Добавить» в разделе «Исполняемые файлы PHP» диалогового окна «Установки»; в появившемся диалоговом окне выберите XDebug в качестве отладчика PHP (см. рисунок 4) и нажмите кнопку «Готово».

Рисунок 4. Настройка исполняемого файла PHP

3. Чтобы настроить сервер PHP, нажмите «Добавить» в разделе «Серверы PHP» диалогового окна «Установки», выберите XDebug в качестве отладчика PHP и нажмите «Готово».

Наконец, вы готовы создать комбинированный проект, который позволит выполнять комбинированную отладку кода Flex, а также кода PHP.

1. Создайте новый проект PHP под названием PhpTest в PDT

2. Добавьте новую исходную папку и свяжите ее с новой папкой в ​​папке www wamp (см. Рисунок 5). В Mac OS X добавьте новую папку в папку htdocs mamp.

Рисунок 5. Создание ресурса новой папки

3. Щелкните правой кнопкой мыши проект и выберите «Добавить / изменить тип проекта»> «Добавить тип проекта Flex».

4. В разделе «Технология сервера» на странице мастера выберите PHP.

5. Нажмите «Далее» и настройте следующие значения:

Корень сети: D: \ wamp \ www (или / Applications / MAMP / htdocs в Mac OS X)

Корневой URL: http: // localhost: 8080 (при необходимости измените порт в зависимости от настроек сервера WAMP или MAMP).

Выходная папка: D: \ wamp \ www \ PhpTest (или / Applications / MAMP / htdocs / PhpTest в Mac OS X)

6. Нажмите кнопку «Подтвердить конфигурацию», а затем нажмите «Готово» после успешного подтверждения конфигурации.

7. Щелкните правой кнопкой мыши исходную папку PHP с именем www (WAMP) или htdocs (Mac OS X) в проекте и создайте новый файл PHP с именем HelloWorld.php со следующим содержимым:

<?php 
class HelloWorld { 
    public function sayHello() { 
            return "Hello"; 
       } 
} 

8. Затем найдите панель «Данные / службы» в нижней части окна и нажмите «Подключиться к данным / службе».

9. Дважды щелкните значок PHP

10. На следующей странице мастера перейдите к файлу HelloWorld.php и откройте его.

11. Нажмите Готово.

Flash Builder теперь настроил файл PHP для использования с проектом Flex.

12. Скопируйте следующий код в PhpTest.mxml:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                      xmlns:s="library://ns.adobe.com/flex/spark" 
                      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:helloworld="services.helloworld.*">  

       <fx:Script>  
            <![CDATA[ 
                 import mx.controls.Alert; 
                 import mx.rpc.events.ResultEvent; 
                 protected function button_clickHandler(event:MouseEvent):void 
                   { 
                          // TODO Auto-generated method stub 
                          sayHelloResult.token = service.sayHello(); 
                   } 

                  protected function sayHelloResult_resultHandler(event:ResultEvent):void 
                  { 
                        Alert.show(event.result as String); 
                   } 

                   ]]>  
              </fx:Script>  

              <fx:Declarations>  
                   <helloworld:HelloWorld id="service"/>  
                  <s:CallResponder id="sayHelloResult" result="sayHelloResult_resultHandler(event)"/>     </fx:Declarations>  
 <s:Button id="button" label="Say Hello" click="button_clickHandler(event)"/> 
</s:Application>  

Поместите точку останова в PhpTest.mxml на строку 18 в функции sayHelloResult_resultHandler () (см. Рисунок 6).

Рисунок 6. Размещение точки останова в PhpText.mxml

14. Поместите другую точку останова в HelloWorld.php в строке 4 (см. Рисунок 7).

Рисунок 7. Размещение точки останова в HelloWorld.php

Затем вам нужно создать новую конфигурацию запуска отладки для PHP.

15. Откройте диалоговое окно «Отладочные конфигурации», выбрав «Отладка»> «Отладочные конфигурации».

Рисунок 8. Создание новой конфигурации запуска отладки.

16. Убедитесь, что опция Break At First Line снята.

17. Для URL отмените выбор параметра «Автогенерация» и убедитесь, что указан правильный URL-адрес (например, /PhpTest/HelloWorld.php ).

18. Нажмите Отладка, чтобы запустить отладчик PHP.

19. Щелкните правой кнопкой мыши файл MXML и выберите «Отладка как»> «Веб-приложение».

Когда вы нажимаете кнопку «Say Hello» в приложении, PDT разрывается на строке с точкой останова PHP и отображает все соответствующие значения переменных (см. Рисунок 9).

Рисунок 9. Отладка приложения

Теперь эту настройку можно использовать для отладки приложений PHP и Flex в одном и том же экземпляре Eclipse. Также обратите внимание, что файлы PHP, созданные с помощью мастера служб в Flash Builder, открываются в редакторе PHP, чтобы обеспечить полную раскраску кода и подсказки.

Куда пойти отсюда

Теперь, когда у вас есть полностью интегрированная среда разработки для разработки и отладки приложений PHP и Flex, вы можете начать писать новые классы PHP, которые можно использовать с вашим приложением Flex.

Кроме того, вы можете использовать функции разработки, ориентированные на данные, в Flash Builder 4, чтобы импортировать эти службы, а затем воспользоваться подсказками кода для функций PHP в коде Flex. Это также поможет вам использовать большинство других расширенных функций для вашего приложения Flex / PHP, таких как пейджинг и управление данными на стороне клиента.

Вы можете узнать больше в статье Разработка, ориентированная на данные, с помощью Flash Builder 4 .