В этой статье описывается, как разработчики 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.
- Разархивируйте дистрибутив Eclipse PHP (PDT) в удобном месте (например, C: \ eclipse-php-galileo-SR1-win32 ).
- Затем запустите установщик подключаемого модуля Flash Builder 4.
- Когда будет предложено выбрать между Eclipse в комплекте и существующей копией Eclipse, выберите «Подключить к другой копии Eclipse» (см. Рисунок 1) и введите папку, в которую вы установили дистрибутив Eclipse PHP ( C: \ eclipse-php-galileo-SR1- win32 , например).
- Нажмите Next и следуйте остальным инструкциям на экране для завершения установки.
Рисунок 1. Установщик подключаемого модуля Flash Builder 4
Это все, что нужно для того, чтобы настроить PDT и Flash Builder для совместной работы!
Включение поддержки отладки на сервере PHP
Включение поддержки отладки на PHP-сервере включает добавление библиотеки отладчика в путь к серверу, а затем ее настройку в файле php.ini. Для целей этого урока вы будете использовать XDebug. Однако есть и другие опции, такие как Zend Debugger, которые одинаково просты в настройке и использовании.
Если вы используете MAMP в Mac OS X, перейдите к шагу 5, так как XDebug связан с MAMP.
Если вы используете WAMP в Windows, выполните следующие действия, которые предполагают, что сервер WAMP настроен на D: \ wamp.
- Загрузите файл DLL XDebug и поместите его в место, доступное для установки PHP. Хорошее расположение — это обычно каталог ext установки PHP; например: D: /wamp/bin/php/php5.2.8/ext.
- Затем найдите файл php.ini, используемый вашей установкой PHP. В WAMP файл php.ini, настроенный для использования с сервером, находится в папке bin установленной папки apache, например: D: /wamp/bin/apache/apache2.2.11/bin/php.ini.
- Если вы хотите проверить местоположение файла 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
Наконец, вы готовы создать комбинированный проект, который позволит выполнять комбинированную отладку кода 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 .