jetbrains-ide - PhpStorm 中的 setter 中的 camelCase 参数
问题描述
我的类中有 under_score 命名属性,例如transaction_id
or 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;
}
我试图在Settings/Editor/File and Code Templates/Code/Php Setter Method中更改此行为,但我找不到这样做的能力。模板中有一个变量:
${NAME}
但它以这种形式返回值$OriginalTransactionId而不是$originalTransactionId
解决方案
您可以在此处尝试使用 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
}
推荐阅读
- c++ - 如何让Make在编译前生成头文件?
- python-3.x - 像熊猫一样思考:如何按顺序更新所有行(行使用前行的信息)
- c# - 将自定义 JsonConverter 添加到 Web API 会影响传递给自定义验证属性的字符串值
- docker - Docker:需要在 symfony 项目中持久化文件夹
- ios - .weekday 返回错误日期的最简洁修复
- reactjs - 可变全局状态导致数组长度问题
- javascript - 全屏坏了-股票工具
- node.js - 如何使用节点和 React 上的 express 解决 API 身份验证问题
- c# - 不能将 A 类隐含到泛型类型
- c++ - 列表容器中的迭代器