PHP Storm и HumanEmulator

Пример организации работы php скрипта в PHPStorm с рабочей функцией подстановки кода в редакторе. С PHPStorm в работа по созданию скрипта сильно облегчается (отладка и точки останова).

  1. Для корректной работы установим HumanEmulator (далее HE) в отдельную папку по пути:  C:\XWeb\HE 4.9.39 PHP STORM
  2. Заменяем файл php.ini, который находится
    C:\XWeb\HE 4.9.39 PHP STORM\PHP\php.ini на файл C:\XWeb\HE 4.9.39 PHP STORM\PHP\ php.ini-phpstorm назвав его тем же именем
  3. Запускам PHP Storm и в мастере первого запуска выбираем «Открыть». Выберем папку HE (целиком) путь C:\XWeb\HE9.39 PHP STORM.
    phpstormopen2 open2
    Зачем это делается?
    В папке содержится основной код приложения, который будет «виден» движку
    PHP Storm.
  4. Копируем наш готовый рабочий скрипт в основную рабочую папку папку:
    C:\XWeb\HE9.39 PHP STORM\MyScripts
    Для примера у меня будет проект aliexpress. В код скрипта необходима добавит строчку:
    $PHP_Use_Trought_Shell=false;
  5. Настройка конфигурации исполнения
    Для этого открываем конфигурацию Edit Configuration
    PHPStrorm editconfiguration 1 step
    Add New ConfigurationPHPStrorm editconfiguration 2step
    Добавляем PHP ScriptУстанавливаем путьPHPStrorm editconfiguration 3 step к файлу скрипта с которого происходит исполнение и имя этой конфигурации и нажимаем OKPHPStrorm editconfiguration 4 step
  6. Настройка интерпретатора. PHP Storm требует установить интерпретатор, в нашем случае он находится в каталоге PHP.
    Для установки интерпретатора главное меню File/Settings/PHP создаем новый и выбираем путь к нему.
    setinterpretatoradd find path
  7. Запускаем приложение HE на порту 7010. Приложение будет работать как сервер и браузер, который будет отрабатывать команды находится в окне HE.
  8. Запуск скрипта по кнопке запуска PHP STORM
    phpstromstart
  9. Остановка скрипта по кнопке стоп, в панели отладки окна PHP STORM
    phpstormstopscript

Все настройки PHP STORM будут сохранены и уже для запуска приложения нужно будет исполнять только 8 пункт описания и соответственно для остановки пункт 9.

Подключение всех папок HE  необходим для корректной работы главного преимущества PHP Storm удобных функций подстановки кода.

intellysense

Так как лог в приложении HE ориентирован на исполнение в окне браузера встроенного в приложение, лог содержит символ переноса <br> и лог отображенный в панели PHP STORM в функции вывода сообщений лога в одну строчку, что мешает его корректно воспринимать. Можно добавит символ переноса строки \n в конце (после <br>) и лог будет выводится корректно.

К сожалению  функция $folder_path = $debug->get_cur_script_folder(); возвращает некорректный результат (пустое значение) нужно заменить эту часть стандартной функцией $folder_path = getcwd();

P.S.

Запуск обычного скрипта на чистой версии phpStorm

Для запуска скрипта на чистой версии phpStorm не используя готовую конфигурацию из HE без привязки к серверной части необходимо.

1. Создать новый проект с phpStorm File/New project определить в меню корневую папку.

2. Настройка конфигурации исполнения Edit Configuration. Тип конфигурации PHP Script. Определить в ней Интерпретатор, как путь к файлу php.exe в моем случае это C:\Program Files\php-x64\php.exe (там свой php.ini). 

Определить файл в проекте для исполнений (точка входа).

3. Настроить отладку при помощи XDebug. Скачать бинарник XDebug и поместить в папку C:\Program Files\php-x64\ext и переименовать его в php_xdebug.dll. Добавить в php.ini строку в конец текста zend_extension=php_xdebug.dll

Остальные расширения (ext) подключать тем же образом.