【问题标题】:PhpStorm Making a Live template: Comma delimited string to associative arrayPhpStorm 制作实时模板:逗号分隔字符串到关联数组
【发布时间】:2018-02-27 23:48:03
【问题描述】:

在 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');

【问题讨论】:

标签: php ide phpstorm


【解决方案1】:

我认为在 PhpStorm 中使用实时模板是不可能的。您必须用逗号将选择拆分为一个集合,然后对于该集合中的每个元素,复制它并用引号将第一个出现的地方括起来。此功能中似乎没有相应的功能。

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

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

【讨论】:

  • 感谢您的快速回复。我将检查 xdebug。在 Drupal 7 中,我倾向于使用大量来自 devel 模块的 dpm() 和 ddl() 函数。我没有提到我在 Drupal 7 中工作。
猜你喜欢
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
相关资源
最近更新 更多