Шаблоны кода в IDE NetBeans для PHP

Шаблона кода представляют собой написанные заранее фрагменты кода, предоставленные IDE NetBeans. Фрагмент можно вставить в код путем дополнения кода или с помощью ввода аббревиатуры шаблона с нажатием клавиши TAB. Также можно добавить соответствующие фрагменты PHP вокруг кода. Наконец, можно задать собственные шаблоны кода. В данном учебном курсе описывается использование шаблонов кода и приводятся варианты определения собственных шаблонов.

Содержание

Содержимое на этой странице применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0

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

Программное обеспечение или материал Требуемая версия
IDE NetBeans Пакет загрузки PHP
Комплект для разработчика на языке Java (JDK) 7 или 8

 

Заданные шаблоны кода PHP

Для просмотра шаблонов кода, определенных в NetBeans, выберите команду "Средства" > "Параметры" ("NetBeans" > "Параметры" для Mac), выберите функцию редактора и откройте вкладку "Шаблоны кода". Для просмотра шаблонов кода PHP выберите в раскрывающемся списке "Языки" пункт "PHP". Появится таблица с аббревиатурами шаблонов кода и расширенными текстами. При выборе шаблона кода в таблице на вкладке "Расширенный текст" отображается расширенный текст.

Шаблоны кода PHP в окне 'Параметры' с выбранным шаблоном cli

В примере на рисунке выбран шаблон кода нового класса (cls), а на вкладке "Расширенный текст" отображается развернутый шаблон. В следующем разделе описывается использование клавиши TAB для развертывания шаблона в коде.

Примечание. Синтаксис нового шаблона кода класса (cls) описывается в разделе Синтаксис шаблона кода PHP.

Использование шаблонов кода PHP

Существует три способа вставки шаблонов в код PHP. Каждый из этих способов предназначен для соответствующих ситуаций. Существуют следующие способы:

После вставки шаблона в среде IDE можно отредактировать параметры в развернутом шаблоне кода.

Расширение шаблона кода путем ввода аббревиатуры с нажатием клавиши TAB

Снова откройте вкладку "Шаблоны кода" в диалоговом окне "Параметры". В нижней части этого окна расположено раскрывающееся поле для выбора сочетания клавиш для развертывания шаблона. Это сочетание клавиш пользователь нажимает после ввода аббревиатуры шаблона для развертывания шаблона кода. Клавиша TAB выбрана по умолчанию, но вместо нее можно задать другие сочетания клавиш.

Раскрывающееся поле 'Развернуть шаблон в '

Далее в этом разделе предполагается, что в поле "Раскрыть шаблон по" по умолчанию выбрана клавиша TAB.

Если аббревиатура для шаблона также используется в дополнении кода, развернуть ее может быть сложно. В этом случае для вставки шаблона предпочтительно использовать дополнение кода.

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

  1. Создайте пустой файл PHP.
  2. В блоке PHP для этого файла введите текст cls и нажмите клавишу TAB. Будет развернут шаблон кода cls.

    Внимание! Аббревиатуру необходимо ввести корректно! В случае ошибок при вводе шаблон не будет развернут.

    Развертывание шаблона кода
  3. Имя класса метки-заполнителя (class_name) выбирается автоматически. Для перехода от одного заполнителя к другому можно использовать клавишу Tab. Можно сразу указать требуемое имя класса, которое будет перезаписано для метки-заполнителя. После завершения ввода нажмите ENTER. В среде IDE будет выбрано имя первой функции, которой в данном варианте является конструктор.

    Примечание: Имена заменителей описываются более детально в разделе Раздел имен заменителей.

    Имя функции конструктора, выбранное после редактирования имени класса
  4. Отредактируйте имя функции или примите значение по умолчанию. Затем снова нажмите ENTER. Курсор переместится в тело функции. В реальном сценарии после этого начинается кодирование функции и остального класса.

    Итоговое положение курсора определяется параметром ${cursor}. Этот параметр описывается в разделе Зарезервированные имена.

Вставка шаблона кода путем дополнения кода

Для вставки шаблона кода путем дополнения кода введите начало расширенного фрагмента (не сокращение шаблона). Откроется диалоговое окно дополнения кода, в котором будет отображаться фрагмент.

Для вставки шаблона кода нового класса путем дополнения кода выполните следующее:

  1. Введите в блоке PHP файла PHP значение cla.
  2. Дождитесь открытия диалогового окна дополнения кода.
  3. Выполните поиск шаблона нового класса, рядом с которым указана аббревиатура (cls). Развернутый шаблон отображается в рамке PHPDoc.
    Диалоговое окно автозавершения кода, в котором отображается новый шаблон класса
  4. Выберите шаблон нового класса и нажмите Enter. В среде IDE выполняется его вставка в код.
  5. Имя класса метки-заполнителя (class_name) выбирается автоматически. Для перехода от одного заполнителя к другому можно использовать клавишу Tab. Можно сразу указать требуемое имя класса, которое будет перезаписано для метки-заполнителя. После завершения ввода нажмите ENTER. В среде IDE будет выбрано имя первой функции, которой в данном варианте является конструктор.
    Имя функции конструктора, выбранное после редактирования имени класса
  6. Отредактируйте имя функции или примите значение по умолчанию. Затем снова нажмите ENTER. Курсор переместится в тело функции. В реальном сценарии после этого начинается кодирование функции и остального класса.

Добавление шаблона вокруг кода

Вокруг кода можно добавить следующие шаблоны PHP:

  • while
  • do
  • switch
  • if/elseif
  • try и catch
  • foreach
  • for
  • ob_start и ob_end_clean

Кроме того, можно создать новый шаблон, который будет окружать код, если шаблон включает в себя подсказку параметра allowSurround. (Выражаем благодарность за предоставленную информацию авторам блога My Beloved PHP.)

Чтобы добавить шаблон вокруг кода, выберите код и откройте диалоговое окно "Окружение...". Чтобы открыть диалоговое окно 'Окружить...', нажмите Alt-Enter или щелкните значок 'Подсказка' Значок 'Подсказка'.

Для добавления шаблона if(true) вокруг кода выполните следующее:

  1. Создайте блок PHP с переменными $a = true и $b = 10.
    <?php
    $a = false;

    $b = 10;
    ?>
  2. Выберите строку $b = 10;
    Выбранная переменная $b = 10
  3. Нажмите на значок 'Подсказка' Значок 'Подсказка' или нажмите Alt-Enter. Откроется диалоговое окно "Окружение...".
    Откройте диалоговое окно 'Окружить...'
  4. Щелкните Surround with if{true){...
    Откройте диалоговое окно 'Окружить...', в котором выделено 'Окружить, если (true)'
  5. В среде IDE строка $b = 10; будет окружена шаблоном if(true){... .
    Шаблон 'Вставлено, если (true)'

В среде IDE в качестве условия оператора if автоматически вставляется ближайшая предшествующая допустимая переменная. В данном варианте используется переменная $a, поскольку $a является логическим значением, а условие оператора if(true){} подразумевает логическую переменную. Более того, если переменная, вставленная в среде IDE в условие, неправильна, это условие автоматически выделяется для редактирования. Это означает, что ввод корректной переменной можно начать сразу после вставки шаблона. В этом случае выбрать переменную можно с помощью дополнения кода.

Примечание . Шаблон if(true){} описывается подробно в разделе Параметр, определяемый подсказками.

Выбор переменной для использования как условия из автозавершения кода

Для выхода из условия оператора нажмите ENTER. Курсор переместится в соответствующее местоположение, в данном случае — в конец строки $b = 10;. Пользователь может отредактировать условие и нажать ENTER или принять автоматически подставляемое условие, после чего нажать ENTER. В любом случае курсор будет перемещен из условия в соответствующее местоположение.

Курсор после не выполнения редактированияКурсор после выполнения редактирования

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

Изменение параметров в развернутых шаблонах

В разделах, посвященных вставке шаблонов в код, в среде IDE автоматически выбиралось имя класса для редактирования после развертывания шаблона нового класса. Также автоматически выбиралось имя условия для редактирования после развертывания шаблона if(true). В данном разделе описаны другие возможности редактирования параметров в среде IDE в развернутых шаблонах.

Одновременное редактирование нескольких экземпляров параметра:

  1. В пустом блоке PHP введите for и нажмите сочетание клавиш CTRL+ПРОБЕЛ для открытия дополнения кода. Выберите шаблон итерации (аббревиатура iter) и нажмите Enter. В код будет вставлена новая итерация.
    Автозавершения кода, в котором отображается шаблон приращения
  2. В итерации в качестве параметров используются две переменных: $index и $array. Переменная $index выбирается для редактирования автоматически. (Для перемещения между параметрами используйте клавишу Tab.)
    Вставленная строка приращения с параметрами, с параметром $index, выделенная для редактирования

    Введите i. Все три экземпляра параметра $index изменятся на $i.

    Вставленная строка приращения с параметром $index, измененным на $i
  3. Нажмите Enter или Tab. Будет выбран параметр $array.
  4. Нажмите ENTER. Курсор переместится в тело метода итерации.

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

Редактор PHP editor IDE NetBeans также помогает определить правильный метод для переменных.

Привязка переменной в шаблоне к корректному методу:

  1. В пустом блоке PHP введите следующий код:
    <?php

    $arr = array(new ArrayIterator($array()), new ArrayObject($array()));

    ?>
  2. После строки с объявлением массива $arr введите fore и с помощью дополнения кода вставьте шаблон foreach (аббревиатура: fore).
    Автозавершение кода для вставки шаблона foreach
  3. Поместите курсор в тело функции foreach (для перемещения курсора можно дважды нажать ENTER) и введите значение $value или введите только $ и выберите $value из дополнения кода.
    <?php

    $arr = array(new ArrayIterator($array()), new ArrayObject($array()));

    foreach ($arr as $value) {
    $value
    }

    ?>
  4. После $value введите ->. Дополнение кода обеспечивает корректные методы для переменной $value, значение которой можно получить из массива $arr.
    Автозавершение кода для переменной $value, где $value - это метод Array Iterator

Синтаксис шаблона кода PHP

IDE NetBeans обеспечивает шаблоны кодов для всех поддерживаемых языков. Некоторые элементы синтаксиса являются общими для всех языков. Другие — специфичны для определенных языков. В данном разделе рассматривается наиболее релевантный общий синтаксис шаблонов, а также специфичный синтаксис шаблонов PHP.

Шаблон кода PHP может содержать код PHP и параметры шаблона. Шаблон PHP может содержать только код PHP, только параметры или код и параметры одновременно.

В синтаксисе параметров шаблона кода используется знак доллара $, за которым следует определение параметра в фигурных скобках {...}. В рамках этого синтаксиса параметры шаблона могут принимать четыре формы:

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

Примечание. $$${VARIABLE...} Иногда отображается шаблон кода PHP во фрагментах, где синтаксис состоит из трех знаков доллара, после которых стоят фигурные скобки $$${...}. В этом случае шаблон кода содержит переменную и ее имя. Здесь знак доллара пропущен, и в синтаксисе присутствует двойной знак доллара $$, за которым следует параметр имени переменной ${VARIABLE...}. Например, шаблон кода catch ${Exception} $$${exc} расширяется как catch Exception $exc.

Имя метки-заполнителя


В самом простом случае параметр шаблона кода является произвольным значением метки-заполнителя. При развертывании шаблона это имя метки-заполнителя выбирается в среде IDE для редактирования.


Например, в шаблоне нового класса (cls), который в данном учебном курсе приводится в качестве примера в разделах Заданные шаблоны кода PHP и Расширение шаблона кода путем ввода аббревиатуры с нажатием клавиши TAB. Развернутый текст шаблона нового класса начинается с class ${className}. В данном случае class — это код PHP, а ${className} — параметр. Этот параметр является произвольным значением метки-заполнителя для имени класса. При развертывании шаблона в среде IDE ${className} преобразуется в class_name. Предполагается, что class_name является только лишь значением метки-заполнителя, и это значение автоматически предлагается для редактирования.

Развертывание шаблона кода

Зарезервированные имена

В среде IDE резервируются два имени параметра, используемые в качестве указаний по обработке.

  • ${cursor} определяет местоположение курсора после завершения редактирования всех автоматически выбранных значений в развернутом шаблоне.
  • ${selection} определяет положение для вставки содержимого, выбранного редактором. Этот параметр используется так называемыми "шаблонами выбора", которые всегда отображаются в качестве подсказок при выборе текста в редакторе. Если шаблон включает параметр ${selection}, он всегда относится к тому же местоположению, что и ${cursor}.

Например, обратитесь еще раз к шаблону нового класса (cls), который рассматривается в разделах Заданные шаблоны кода PHP и Расширение шаблона кода путем использования аббревиатуры с нажатием клавиши Tab данного учебного курса. Он содержит два параметра-заполнителя имени, ${ClassName} и $__construct. В теле функции содержатся параметры ${cursor} и ${selection}.

class ${ClassName} {

function ${__construct} {
${selection}${cursor}

}

}

После развертывания шаблона параметр метки-заполнителя class_name выбирается автоматически (1). Нажмите Enter, и заполнитель __construct будет выбран автоматически (2). Другие значения для редактирования отсутствуют. Нажмите Enter еще раз, и указатель мыши переместится в положение, заданное параметром ${cursor} в тексте шаблона (3).

Три фрагмента кода, отображающие изменение положения курсора от имени заполнителя к имени заполнителя к положению ${курсор}

Параметр, заданный с помощью подсказок


Параметр может содержать произвольное описательное имя В ВЕРХНЕМ РЕГИСТРЕ и одну или несколько подсказок.

${PARAMETER_NAME hint1[=value] [hint2...hint n]}

Имя не отображается в коде. Однако оно необходимо при многократном использовании параметра в шаблоне кода. В этом случае параметр определяется только один раз, после чего может подставляться по имени. Например, в следующем шаблоне кода параметр ${CONLINK} определяется только один раз, а затем два раза подставляется по имени.


$$${CONLINK newVarName default="link"} = mysql_connect('localhost', 'mysql_user', 'mysql_password');  
if (!$$${CONLINK}) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($$${CONLINK});
${cursor}

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

if (${CONDITION variableFromPreviousAssignment instanceof="boolean" default="true"}) {
${selection}${cursor}
}

Проверьте параметр ${CONDITION variableFromPreviousAssignment instanceof="boolean" default="true"}. Этот параметр задает условие оператора if. Поэтому ему присваивается имя CONDITION. Первой подсказкой будет variableFromPreviousAssignment, а второй - instanceof="boolean". Сочетание этих двух подсказок в среде IDE говорят о необходимости поиска ближайшей логической переменной, которая присвоена в коде, предшествующем шаблону кода. Добавьте третью подсказку default="true", и параметр будет определять условие "если значение ближайшей предшествующей логической переменной верно".

Например, если строка $b = 10 в следующем фрагменте кода окружена шаблоном кода if(true) :

Фрагмент $a = false $b = 10

в среде IDE выполняется поиск ближайшей логической переменной, присвоенной ранее, результатом которого является $a, после чего создается оператор if с условием $a[=true]. Условие автоматически выбирается для редактирования, и программист PHP может изменить $a на другую переменную или на !$a.

Шаблон развернут, если $a=true, то $b=10, с условием $a=true выбран для редактирования

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

Подсказка Описание
newVarName Значение параметра должно быть новым не использованным ранее именем переменной. Обычно используется вместе с подсказкой default.
1521 (по умолчанию) Значение параметра по умолчанию.
instanceof="" Тип переменной PHP, заданной параметром.
variableFromPreviousAssignment Значение параметра — ближайшая предшествующая переменная. Обычно используется вместе с подсказками instanceof и default.
variableFromNextAssignmentName Значение параметра — имя ближайшей переменной, присвоенной после шаблона кода. Обычно используется вместе с подсказкой default.
variableFromNextAssignmentType Значение параметра — тип ближайшей переменной, присвоенной после шаблона кода. Обычно используется вместе с подсказкой default.
editable=false Значение параметра невозможно отредактировать после развертывания шаблона.
allowSurround Позволяет использовать шаблон для окружения кода.

Создание собственных шаблонов кода

Пользователи могут создать собственные шаблоны кода в IDE NetBeans. В данном разделе описывается создание шаблонов кода и их синтаксис, а также предлагаются некоторые полезные шаблоны.

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

  1. Выберите команды "Средства" > "Параметры" ("NetBeans > Параметры" в системе Mac), перейдите к функциям редактора и откройте вкладку "Шаблоны кода".
    Шаблоны кода PHP в окне 'Параметры' с выбранным шаблоном cli
  2. Нажмите 'Создать'. В результате откроется диалоговое окно 'Создание шаблона кода'. Введите аббревиатуру для шаблона и нажмите кнопку "ОК".
    Диалоговое окно &quot;Новый шаблон кода&quot; с запросом на ввод аббревиатуры шаблона
  3. В таблицу шаблонов кода будет добавлена новая строка. Она содержит только введенную аббревиатуру. Курсор будет автоматически расположен на вкладке "Расширенный текст". Код шаблона можно ввести прямо на этой вкладке.

    Примечание. Описание синтаксиса расширенного текста шаблона кода см. в разделе Синтаксис шаблона кода PHP.

    Ввод развернутого текста нового шаблона abb

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

Вариант использования: вставка PHP в HTML

При необходимости частой вставки фрагментов PHP в блок HTML можно создать шаблон кода HTML для вставки кода PHP без ввода <?php ?>.

Следующий шаблон кода используется для вставки в HTML оператора PHP echo.

Язык: HTML
Аббревиатура: php
Развернутый текст:
<?php echo ${cursor}   ?>

В окне 'Параметры' отображается новый php в шаблоне html

Вариант использования: Joomla

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

Язык: PHP
Аббревиатура: joomdef
Развернутый текст:
defined('_JEXEC')
or die('Restricted access');
${cursor}

Диалоговое окно 'Параметры' с новым шаблоном кода joomdef

Вариант использования: соединение с MySQL

Разработчикам PHP часто требуется установить соединение с базой данных MySQL. Это можно сделать с помощью шаблона кода. Переменная, присваиваемая соединению с MySQL, содержит имя метки-заполнителя link. Обратите внимание на использование трех знаков доллара $$$. На самом деле это двойной знак, который при развертывании преобразуется в один знак с последующим указанием параметра для имени переменной.

Язык: PHP
Аббревиатура: my_con
Развернутый текст:
$$${CONLINK newVarName default="link"} = mysql_connect('localhost', 'mysql_user', 'mysql_password');  
if (!$$${CONLINK}) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($$${CONLINK});
${cursor}

Новый шаблон кода для соединения MySQL

Вариант использования: действие в контроллере Zend

Вместо использования мастера NetBeans для создания действия для вставки действия в контроллере Zend Framework, например indexController{}, можно использовать шаблон кода.

Язык: PHP
Аббревиатура: zf_act
Развернутый текст:
public function ${functionName}Action () {
${selection}${cursor}
}

Новый шаблон кода действия Zend

Вариант использования: элемент формы Zend

Этот шаблон используется для вставки элемента в форму Zend. Он применяется после создания формы с помощью команды Zend create form <name>.

Язык: PHP
Аббревиатура: zf_element
Развернутый текст:
$$${ELEMENT newVarName default="element"} = new Zend_Form_Element_Submit('submit', array('label' => 'Send data to server'));  
$$this->addElement($$${ELEMENT});
${cursor}
Новый шаблон кода для элементов платформы Zend для вставки в формы ZF

 


Дополнительные сведения

Для получения дополнительных сведений о технологии PHP на сайте netbeans.org можно воспользоваться следующими материалами:

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

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo