Проверьте, является ли переменная пустой в шаблоне файла PhpStorm - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь следовать стандарту кодирования Zend для блоков комментариев для функций, и я застрял во время настройки PHP Function Doc Comment.

Это мой текущий вид кода

/**
${PARAM_DOC}
#if(${PARAM_DOC})
 *
#end
 * @return ${TYPE_HINT}
${THROWS_DOC}
*/

Предполагается, что он должен добавлять звездочку только в том случае, если ${PARAM_DOC} не имеет значения NULL, но этот код не работает. Это всегда добавляет звездочку. Документация по переменным PhpStorm не содержит никакой полезной информации по моей проблеме, поэтому я надеюсь, что кто-то здесь может мне помочь.

Моя версия PhpStorm - 2019.3 EAP.

1 Ответ

1 голос
/ 22 октября 2019

Как сказано во встроенном PhpStorm для ${PARAM_DOC},

Комментарий к документу Parameters. Генерируется как число строк «* @param name name». Если параметров нет, выполняется оценка пустого содержимого.

И документы Apache Velocity сообщают

КогдаVTL ссылается на переменную, такую ​​как $ foo, переменная может получить свое значение либо из директивы set в шаблоне, либо из кода Java.

После этого я понял, что я делаю одинВажная ошибка: PhpStorm основан на Java, и пустая String не может быть автоматически приведена к Boolean beacuse ${PARAM_DOC} просто Java String .

Итак, решение для этого оказалось

#if (${PARAM_DOC} != "")
 *
#end

Очевидно, но не тихо.

...