PhpStorm制作实时模板:逗号分隔字符串到关联数组

时间:2018-02-27 23:48:04

标签: php ide phpstorm

在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突出显示,并使用实时模板命令将其转换为'$entity_type' => $entity_type,

我当前的实时模板代码,它选择并将其转换为单个php数组元素:

'$SELECTION$' => $SELECTION$,$END$

我试图猜测如何使用PhpStorm' pre-defined functions

我经常从一个函数中提取一串参数用于调试目的,并且有一个实时模板可以帮助我更快地创建一个关联数组,这将真正加快我的世界。

编辑:我正在为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');

1 个答案:

答案 0 :(得分:1)

我不认为在PhpStorm中使用Live Templates是可能的。您必须用逗号将选择拆分为集合,然后对于此集合中的每个元素,复制它并用引号包装第一个匹配项。在此功能中看起来没有相应的功能。

  

我经常从一个函数中提取一串参数用于调试目的,并且有一个实时模板可以帮助我更快地创建一个关联数组,这将真正加快我的世界。

用于调试目的的最佳工具是调试器。如果将XDebug与PhpStorm集成,您甚至可以直接在编辑器中看到参数的值。但是,如果您真的只想var_dump()当前函数的参数,只需使用func_get_args()