В PhpStorm я хотел бы выделить строку вроде этой:
$entity_type, $entity, $field, $instance, $langcode, $items, $display
И преобразовать его в строку, как показано ниже, с живым шаблоном:
'$entity_type' => $entity_type,
'$entity' => $entity,
'$field' => $field,
'$instance' => $instance,
'$langcode' => $langcode,
'$items' => $items,
'$display' => $display,
В настоящее время у меня есть шаблон, который кажется, что это шаг от того, что я хочу. Мой шаблон в настоящее время может взять выбранную строку и преобразовать эту строку в элемент ассоциативного массива: $entity_type
выделенный и с помощью команды live template преобразует это в '$entity_type' => $entity_type,
,
Мой текущий живой шаблон кода, который берет выделение и преобразует его в один элемент массива php:
'$SELECTION$' => $SELECTION$,$END$
Я застрял, пытаясь угадать, как использовать PhpStorm предопределенные функции.
Я часто вытаскиваю строку аргументов из функции для целей отладки, и наличие живого шаблона, помогающего мне быстрее создавать ассоциативный массив, действительно ускорит мой мир.
Изменить: я отлаживаю для Drupal 7, если это имеет значение. Часто мне просто нужна быстрая функция, использующая функцию Devel, например:
dpm(array(
'$entity_type' => $entity_type,
'$entity' => $entity,
'$field' => $field,
'$instance' => $instance,
'$langcode' => $langcode,
'$items' => $items,
'$display' => $display,
'$elements' => $elements,
), 'mymodule_field_formatter_view');
Я не думаю, что это возможно, используя живые шаблоны в PhpStorm. Вам придется разделить выделение запятой на коллекцию, а затем для каждого элемента в этой коллекции продублировать его и обернуть первое вхождение в кавычки. Не похоже, что есть функции для этого в этой функции.
Я часто вытаскиваю строку аргументов из функции для целей отладки, и наличие живого шаблона, помогающего мне быстрее создавать ассоциативный массив, действительно ускорит мой мир.
Лучший инструмент для отладки — это отладчик. Если вы интегрируете XDebug с PhpStorm, вы даже увидите значения параметров прямо в редакторе. Но если вы действительно хотите var_dump()
параметры текущей функции, просто используйте func_get_args()
,
Других решений пока нет …