在PhpStorm中的setter中的camelCase参数

时间:2018-11-07 10:01:14

标签: jetbrains-ide intelinde

我在班级有under_score命名属性,例如transaction_idweb_order_item_id。而且我想在生成它们的时候在我的设置器中自定义参数名称。

目前,它生成以下内容:

/**
 * @param int $original_transaction_id .camelCase()
 */
public function setOriginalTransactionId(int $original_transaction_id): void
{
    $this->original_transaction_id = $original_transaction_id;
}

但是我想要这个:

/**
 * @param int $originalTransactionId .camelCase()
 */
public function setOriginalTransactionId(int $originalTransactionId): void
{
    $this->original_transaction_id = $originalTransactionId;
}

我尝试在设置/编辑器/文件和代码模板/代码/ Php设置器方法中更改此行为,但是我找不到执行此操作的能力。 模板中有一个变量:

${NAME}

但是它以 $ OriginalTransactionId 的形式返回了值,而不是 $ originalTransactionId

1 个答案:

答案 0 :(得分:2)

您可以在此处尝试使用Apache Velocity StringUtils,例如

#set($Setter_param = ${StringUtils.removeAndHump(${PARAM_NAME})})
#set($Setter_param = $Setter_param.substring(0,1).toLowerCase() + $Setter_param.substring(1))

/**
 * @param ${TYPE_HINT} $${Setter_param}
 */
public ${STATIC} function set${NAME}(#if (${SCALAR_TYPE_HINT})${SCALAR_TYPE_HINT} #end$${Setter_param})#if (${VOID_RETURN_TYPE}):void #end
{
#if (${STATIC} == "static")
    self::$${FIELD_NAME} = $${Setter_param};
#else
    $this->${FIELD_NAME} = $${Setter_param};
#end
}