Реклама
Рубрики блога
Архив статей
Облако тегов
Настройка шаблона для генерации сеттера через self в PhpStorm
воскресенье, 28 апреля 2024 09:33:33, написал Admin
Для Symfony понадобилась настройка в PhpStorm для генерации сеттеров в Doctrine Engine, чтобы сгенерированные сеттеры отдавали сразу self.
Для настройки идем сюда: File / Settings / Editor / File and Code Templates, переключаемся на вкладку Code, выбираем Php Setter Method
Видим там такое содержимое:
/**
* @param ${TYPE_HINT} $${PARAM_NAME}
*/
public ${STATIC} function set${NAME}(#if (${SCALAR_TYPE_HINT})${SCALAR_TYPE_HINT} #end$${PARAM_NAME})#if (${VOID_RETURN_TYPE}):void #end
{
#if (${STATIC} == "static")
self::$${FIELD_NAME} = $${PARAM_NAME};
#else
$this->${FIELD_NAME} = $${PARAM_NAME};
#end
}
Меняем его на
/**
* @param ${TYPE_HINT} $${PARAM_NAME}
*/
public ${STATIC} function set${NAME}(#if (${SCALAR_TYPE_HINT})${SCALAR_TYPE_HINT} #end$${PARAM_NAME})#if (${VOID_RETURN_TYPE}):self #end
{
#if (${STATIC} == "static")
self::$${FIELD_NAME} = $${PARAM_NAME};
#else
$this->${FIELD_NAME} = $${PARAM_NAME};
return $this;
#end
}
Теперь переключаемся на Php Fluent Setter Method
Заменяем код
/**
* @param ${TYPE_HINT} $${PARAM_NAME}
* @return ${CLASS_NAME}
*/
public function set${NAME}(#if (${SCALAR_TYPE_HINT})${SCALAR_TYPE_HINT} #else#end$${PARAM_NAME})#if(${RETURN_TYPE}): ${CLASS_NAME}#else#end
{
$this->${FIELD_NAME} = $${PARAM_NAME};
return $this;
}
На
/**
* @param ${TYPE_HINT} $${PARAM_NAME}
*
* @return ${CLASS_NAME}
*/
public function set${NAME}($${PARAM_NAME}): self
{
$this->${FIELD_NAME} = $${PARAM_NAME};
return $this;
}
Все, теперь, когда мы генерируем код через команду Code / Generate… / Getters and Setters… сразу получаем self
phpStorm symfony PHP