corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Среда IDE NetBeans для редактора PHP: краткий обзор

Этот документ представляет собой краткий обзор основных функций редактора PHP в среде IDE NetBeans.

Содержание

Содержимое на этой странице относится к среде IDE NetBeans 7.0

Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.

Программное обеспечение или ресурс Требуемая версия
Среда IDE NetBeans Пакет загрузки PHP
Механизм PHP Версия 5
Веб-сервер Рекомендуется использовать сервер HTTP Apache версии 2.2.
Отладчик PHP Версия XDebug 2.0 или выше

Подготовка

Для успешной разработки и развертывания приложений PHP в среде IDE NetBeans для PHP необходимо предварительно установить и настроить требуемое программное обеспечение для разработки на языке PHP.

Компоновка экрана среды IDE NetBeans для редактора PHP

Редактор содержит следующие окна:

  • "Проекты" (отображает список проектов, существующих на настоящий момент времени).
  • "Файлы" (отображает файлы по каждому проекту).
  • "Службы" (отображает списки внешних служб, доступных на настоящий момент времени, например, баз данных).

С помощью сочетания клавиш CTRL+7 можно также открыть окно "Навигатор" на левой панели.

Выделение синтаксиса

Редактор обеспечивает выделение синтаксиса для блоков кода на языке PHP, HTML, JavaScript и CSS.

В текущей версии выделяются следующие элементы синтаксиса:

  • Ключевые слова языка PHP
  • Переменные языка PHP
  • Константы языка PHP
  • Теги HTML
  • Атрибуты формы ввода HTML
  • Текущая строка отображается на голубом фоне.
  • Если дважды щелкнуть переменную, функцию или класс языка PHP, все вхождения этой переменной выделяются оливковым цветом.
  • Строки, в которых обнаружены ошибки, подчеркиваются красным.
Просмотр в окне "Редактор NetBeans для PHP" фрагмента кода с выделенными элементами кода на языках PHP и HTML
В целях изменения параметров выделения выберите Сервис > Параметры и перейдите на вкладку "Шрифты и цвета". Укажите требуемые параметры.

Переход к объявлению

Функция "Перейти к объявлению" позволяет пользователю перейти от просмотра вхождений переменной в ту строку, где эта переменная объявлена или инициализирована. Для использования этих функциональных возможностей установите курсор на соответствующем вхождении переменной и выберите в контекстном меню "Navigate > Go to Declaration" или нажмите сочетание клавиш CTRL+B.

Навигатор

Навигатор позволяет получить представление о коде путем просмотра структуры кода в виде элементов списка, содержащего структуры PHP активного файла. Если файл содержит любые другие источники кода (например HTML), соответствующие структуры также отображаются в списке. Если дважды щелкнуть класс, функцию или переменную в списке, курсор перемещается к объявлению этого элемента.

Как правило, список навигатора не содержит вложенных списков, но может содержать вложенные структуры для сложных операторов. Например, оператор объявления класса PHP может быть представлен в виде дерева объявленных элементов класса.

Список динамически обновляется по мере изменения кода пользователем.

Окно "Навигатор" отображается в нижней части левой панели.

  1. Для открытия окна "Навигатор" нажмите CTRL+7.
  2. Из раскрывающегося списка "Навигатор" выберите "Навигатор". Появится дерево, отображающее иерархию структур HTML и структур PHP.
  3. Для перемещения к требуемому элементу дважды щелкните соответствующий узел в списке.
     На рисунке представлен пример использования навигатора. Кроме того, показаны примеры свернутых и развернутых классов и функций.

Свертывание кода

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

Интеллектуальный отступ

В течение ввода пользователем кода в редакторе выполняется его автоматическое форматирование.

Форматирование

Для форматирования фрагмента кода с целью упрощения его восприятия выполните следующие действия:

  1. Выберите соответствующий фрагмент кода.
  2. В контекстном меню, отображаемом по щелчку правой кнопкой мыши, выберите команду "Форматировать" или нажмите сочетание клавиш ALT+SHIFT+F.

Автозавершение расстановки скобок

В течение ввода пользователем кода в редакторе осуществляется автоматическое добавление и удаление парных скобок и кавычек.

  • После ввода первого элемента добавляется закрывающий элемент парных одиночных (' ') и двойных (" ") кавычек, а также круглых и квадратных скобок.
  • В конце строки к закрывающей одиночной или двойной кавычке добавляется точка с запятой.
  • Закрывающая фигурная скобка добавляется после нажатия клавиши ВВОД, что также активирует функцию интеллектуального отступа.
  • Удаление открывающей одиночной или двойной кавычки, а также круглой или квадратной скобки вызывает автоматическое удаление соответствующего закрывающего символа, но не приводит к удалению точки с запятой в конце строки.
  • Если курсор установлен на закрывающей скобке (круглой, квадратной или фигурной) соответствующая открывающая скобка выделяется желтым.
    Если курсор установлен на закрывающей скобке (круглой или квадратной), соответствующая открывающая скобка выделяется желтым.

Реорганизация в связи с переименованием и быстрое переименование

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

Для быстрого переименования установите курсор на имени, которое требуется изменить, и нажмите сочетание клавиш CTRL+R. Если к переменной применяется быстрое переименование, выделяются все экземпляры этой переменной или функции.

Редактор кода PHP после нажатия CTRL+R

При изменении одного экземпляра имени все остальные его экземпляры в файле синхронно изменяются таким же образом.

Редактор кода PHP отображает реорганизованное имя переменной

Для использования реорганизации в связи с переименованием выделите элемент, который требуется переименовать, и нажмите сочетание клавиш CTRL+R или щелкните правой кнопкой мыши и выберите команды "Реорганизация кода" > "Переименовать". Появится диалоговое окно, в котором можно переименовать элемент.

Диалоговое окно переименования переменной

Переименуйте элемент и нажмите кнопку "Предварительный просмотр". Откроется диалоговое окно "Реорганизация кода". В этом окне отображаются все экземпляры элемента в проекте и определяется необходимость переименования.

Диалоговое окно "Реорганизация кода"

Подробные сведения о реорганизации в связи с переименованием приведены в экранной демонстрации Реорганизация в связи с переименованием и другие усовершенствования редактора в среде IDE NetBeans для PHP.

Автозавершение кода

Набор функций, упрощающих и ускоряющих процесс написания кода, называется "Автозавершение кода". Функциональные возможности автозавершения кода еще не до конца разработаны; полный диапазон возможностей будет доступен в будущих версиях NetBeans.

Различают следующие типы автозавершения кода:

Фрагменты

С помощью фрагментов автоматически создается код для различных элементов.

  1. Выберите путь "Сервис > Палитра > Ограничители кода HTML/JSP". На правой панели появится палитра, содержащая различные элементы интерфейса пользователя.
  2. Перетащите нужный значок из палитры к соответствующему символу кода. Появится диалоговое окно для указания параметров соответствующих элементов. Введите данные.
  3. Код для отображения требуемого элемента будет создан и помещен в выбранное местоположение.

Контекстно-зависимые предложения

В редакторе могут использоваться контекстно-зависимые предложения для автозавершения любого количества следующих начальных символов:

  • Ключевое слово PHP: "if", "else", "elseif", "while", "switch", "function" и т.д.
  • Встроенная функция PHP: "count", "substr" и т.д.
  • Предварительно определенная или определяемая пользователем переменная

Редактор не только предлагает возможные варианты, но также отображает подсказки по вводу параметров. Для применения функции автозавершения кода выполните следующее:

  1. Введите начальные символы требуемой строки.
  2. Нажмите сочетание клавиш CTRL+ПРОБЕЛ. Контекстно-зависимые предложения отображаются в раскрывающемся списке. Каждому предложению соответствует описание и подсказки по вводу параметров. Содержание списка изменяется по мере ввода новых символов.
  3. Для получения списка ключевых слов PHP, которые являются доступными в текущем контексте, нажмите сочетание клавиш CTRL+ПРОБЕЛ (ввод данных перед этим не требуется).
    Список контекстно-зависимых предложений. Каждому предложению соответствует описание и подсказки по вводу параметров.
  4. Для просмотра подсказки относительно переменной достаточно ввести символ "$". Появится список всех доступных в настоящее время локальных и глобальных переменных.
    Отображение списка переменных при вводе $. Список содержит глобальные переменные PHP определяемые пользователем переменные.

Шаблоны кода и аббревиатуры

В данном контексте термин "Сокращения" относится к набору предварительно определенных строк символов, которые соответствуют ключевым словам, используемым в языке программирования. Каждое из сокращений связано с каким-либо расширенным текстом, содержащим полное ключевое слово, а также соответствующий ему шаблон кода с подсказками на ввод параметров. Для применения этих функциональных возможностей введите сокращение и нажмите клавишу Tab.
Ввод сокращения "cls" для ключевого слова "class"
Сокращение заменяется соответствующим ключевым словом, к которому предоставляется шаблон кода.
Для определения класса полный текст сокращения отображается с шаблоном кода.
Для просмотра списка определенных сокращений с шаблонами кода выполните следующее:
  1. Выберите путь Сервис > Параметры > Редактор > Шаблоны кода.
  2. В раскрывающемся списке "Язык" выберите параметр "PHP". На экран будет выведен список сокращений PHP с шаблонами кода.
  3. Для добавления определения в список или удаления его из списка используются соответственно кнопки "Создать" или "Удалить".
  4. Для редактирования определения выберите соответствующую строку и измените текст в поле редактирования, находящемся ниже списка.
    Список сокращений с шаблонами кода

Подробные сведения доступны в разделе Шаблоны кода в среде IDE NetBeans для PHP.

Автозавершение кода для конструкторов

После добавления ключевого слова new окно автозавершения кода отображается с конструкторами и параметрами для всех доступных классов в проекте.

Подсказки к автозавершению кода для конструктора

Автозавершение кода SQL

Отображается автозавершение кода SQL, если строка начинается с ключевого слова SQL "select." Сначала необходимо выбрать подключение к базе данных.

Функция автозавершения кода предлагает выполнить подключение к базе данных

Отображаются все подключения к базам данных, зарегистрированные в среде IDE.

Отображаются все подключения к базам данных, зарегистрированные в среде IDE.

После выбора подключения функция автозавершения кода SQL предлагает все таблицы из этого подключения к базе данных.

Все таблицы подключения к базе данных "wishlist"

Если в таблице существуют столбцы, они также отображаются.

Столбцы, отображенные для таблицы

Автозавершение кода SQL также работает с псевдонимами таблицы.

Автозавершение кода SQL отображает таблицу псевдонимов, относящихся к гостинице

Пространства имен PHP 5.3

Код автозавершения поддерживает полностью определенные, частично определенные и неопределенные имена в пространстве имен PHP 5.3. Дополнительные сведения приведены в экранном путеводителе.

Переопределенные и реализованные методы

Автозавершение кода при вызове между членами класса предлагает переопределение или реализацию методов.

Автозавершение кода предлагает переопределение метода

Поддержка PHPDocumentor

В среду IDE NetBeans 7.0 добавлена встроенная поддержка PHPDocumentor. Подробные сведения приводятся в экранной демонстрации Создание документации PHP в среде IDE NetBeans.

Внимание! PHPDocumentor не обеспечивает полную поддержку PHP 5.3. Пространства имен и некоторые другие функции 5.3 невозможно задокументировать с помощью PHPDocumentor.

Генераторы кода

При нажатии сочетания клавиш ALT+INSERT (CTRL+I в Mac OS) открывается меню со всеми возможными генераторами кода. Список генераторов кода чувствителен к контексту. Он зависит от позиции курсора в коде в момент нажатия сочетания клавиш. В зависимости от позиции в коде, можно генерировать подключение к базе данных, таблицы базы данных, текст для проверки, и другие элементы. В этом разделе рассмотрены следующие генераторы кода:

Конструкторы

Для создания конструкторов нужно нажать сочетание клавиш ALT+INSERT (CTRL+I в Mac OS), когда курсор находится внутри тела класса, но не внутри функций. При выборе пункт "Создать... Конструктор" открывается диалоговое окно со списком полей, которые можно инициализировать в конструкторе. Имена полей используются в качестве имен параметров конструктора.

Диалоговое окно выбора полей для инициализации в конструкторе

Можно не выбирать ни одного поля. В этом случае будет создан пустой конструктор без параметров. Если поле — это класс, имеющий свойства, можно либо выбрать отдельные свойства, либо выбрать класс (при этом все свойства класса выбираются автоматически).

Дополнительные сведения приведены в записи блога NetBeans PHP

Методы получения и установки

Для создания методов получения и установки можно использовать сочетание клавиш ALT+INSERT (CTRL+I на Mac), когда курсор находится внутри тела класса, и выбрать пункт "Метод получения", "Метод установки" или "Методы получения и установки". Отображаются только возможные варианты функций. Например, если для всех доступных свойств уже созданы методы установки, отображается только вариант создания функций получения.

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

Метод получения или установки можно назвать в соответствии с нотацией getName или get_name.

Дополнительные сведения приведены в исходной записи блога NetBeans PHP и записи об улучшенной генерации методов получения и установки.

Переопределенные и реализованные методы

Для создания переопределенных или реализованных методов можно нажать ALT+INSERT (CTRL+I в Mac OS), когда курсор находится внутри определения класса и существует несколько членов класса. В диалоговом окне отображаются методы, которые можно добавить, и показано, будут ли они переопределены или реализованы.

Диалог создания переопределенных методов

Эта возможность дополняет подсказку "Реализовать все абстрактные методы" и автозавершение кода переопределенных и реализованных методов.

Дополнительные сведения приведены в записи блога NetBeans PHP.

Подсказки по вводу параметров

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

  1. Введите начальные символы функции, которую требуется вызвать.
  2. Нажмите сочетание клавиш CTRL+ПРОБЕЛ. В раскрывающемся списке содержатся контекстно-зависимые предложения с формальными параметрами для каждого из них.
    Список контекстно-зависимых подсказок
  3. Выберите требуемое предложение и нажмите клавишу ВВОД. В текст кода вводится имя выбранной функции, при этом в скобках отображается шаблон для ввода параметров.
    Подсказки по вводу параметров для выбранного контекстно-зависимого предложения

Определение типа переменной в комментариях

Переменную и ее тип можно определить в комментарии. Комментарий должен иметь формат /* @var $variable type */ . Если комментарий составлен правильно, тег var отображается полужирным шрифтом.

Переменные, объявленные в комментариях

Для создания комментария, определяющего переменную, можно вставить шаблон кода vdoc после табулятора. Имя переменной выделяется и становится доступным для изменения. Повторно нажмите клавишу табулятора для выбора типа.

Объявляющий переменную комментарий, созданный шаблоном vdoc

Шаблон кода автоматически устанавливает имя и тип переменной. Если переменная используется после места вставки шаблона, то следующее имя переменной предлагается по умолчанию. Если переменная, используемая после места вставки шаблона, не существует, но переменная была использована выше шаблона, то имя этой предшествующей переменной предлагается по умолчанию. Если среда IDE NetBeans не может обнаружить переменную вблизи от места использования шаблона, то именем по умолчанию является variable.  Тип переменной устанавливается автоматически согласно таким же правилам.

Объявляющий переменную комментарий, созданный шаблоном vdoc, с именами и типами переменных по умолчанию

Сообщения об ошибках

В течение ввода данных пользователем редактор анализирует синтаксис кода и отмечает ошибки (подчеркивает ошибочные строки и устанавливает красный круг рядом с каждой из них). Для получения пояснения ошибки щелкните строку, содержащую ошибку, или соответствующий ей красный кружок. Появится всплывающая подсказка с кратким пояснением ошибки.
Передача сообщений об ошибке: всплывающая подсказка над содержащей ошибку строкой

Тестирование с помощью PHPUnit и Selenium

В среде IDE NetBeans для PHP поддерживаются средства автоматического тестирования PHPUnit. Благодаря PHPUnit среда IDE NetBeans предоставляет охват кода для PHP, подобный охвату кода, предоставляемому средой IDE для Python и Ruby. Результат теста отображается в том же самом многофункциональном окне результатов, которое также используется при тестировании в JUnit, Ruby и Python среды IDE.

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

Дополнительные сведения приведены в документе Тестирование с помощью PHPUnit и Selenium

Поддержка платформ Symfony и Zend

Поддержка платформ Symfony и Zend встроена в редактор PHP. При этом происходит распознавание существующей платформы Symfony и на последней панели мастера создания новых проектов PHP появляется возможность добавления платформы к новым проектам.

В проектах PHP с поддержкой Symfony или Zend существует возможность запуска команд Symfony или Zend из контекстного меню проекта.

Контекстное меню отображает команды Symfony

Команды интерфейса пользователя позволяют:

  • Фильтровать команды Symfony/Zend (1)
  • Задавать параметры команды (2)
  • Выбирать команды (3)
  • Просматривать контекстные справочные сведения о команде (4)
  • Предварительно просматривать команду перед исполнением (5)
Диалог команды Symfony с комментариями

Список команд зависит от проекта. Это обозначает, что если, например, используется команда Doctrine вместо Propel, то команда Propel в списке представлена не будет, а будет представлена только команда Doctrine. Также доступны все команды из подключаемых модулей Symfony.

Автозавершение кода включает в себя переменные Symfony в представлениях Symfony и переменные Zend в представлениях Zend.

Переменные Symfony в коде автозавершения.

Также среда IDE обеспечивает навигационные ссылки между различными представлениями и действиями платформ Symfony или Zend. Эти навигационные ссылки были улучшены в среде NetBeans 6.9. Кроме того, автозавершение кода в шаблонах/файлах view теперь включает в себя переменные, определенные в файлах controller/action. Подробности приведены в записи блога NetBeans PHP.

Дополнительные сведения об использовании поддержки Symfony приведены в экранном путеводителе Symfony.

Дополнительные сведения об использовании поддержки платформы Zend приведены в экранном путеводителе Zend.

Мы ждем ваших отзывов


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

Возврат к учебной карте по PHP