我在班级有under_score命名属性,例如transaction_id
或web_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
答案 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
}