Стандарт phpdoc для установки значения по умолчанию для необязательного параметра?

Пример:

/**
 * This function will determine whether or not one string starts with another string.
 * @param string $haystack <p>The string that needs to be checked.</p>
 * @param string $needle <p>The string that is being checked for.</p>
 * @param boolean $case[optional] <p>Set to false to ignore case(capital or normal characters)</p>
 * @return boolean <p>If the $haystack string does start with the $needle string, the return will be true. False if not.</p>
 */
function endsWith($haystack,$needle,$case=true) {
    if($case){return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);}
    return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);
}

Необязательный параметр по умолчанию имеет значение true. Я хочу указать, какие настройки по умолчанию установлены в документации. Есть ли стандартный способ сделать это или я должен упомянуть об этом в описании?


person KdgDev    schedule 06.09.2009    source источник


Ответы (1)


В документе говорится:

Обратите внимание, что $paramname,... будет отображаться в выходных документах как в списке параметров, так и в сигнатуре функции. Если вы не указываете в фактическом коде, что параметр является необязательным (через «$paramname = 'значение по умолчанию'»), тогда вы должны упомянуть в описании параметра, что параметр является необязательным.

Поэтому, если вы не показываете назначение по умолчанию в сигнатуре функции, было бы неплохо включить его в описание, но в вашем случае вы включаете его в сигнатуру. Итак, вам не нужно ничего менять, если это не улучшит ваше самочувствие.

person karim79    schedule 06.09.2009
comment
Спасибо. И мне от этого немного легче, да :) - person KdgDev; 07.09.2009
comment
Это ответ в случае, когда необязательный параметр включен в сигнатуру функции. Но что, если это не так? Как документировать необязательный параметр? Как и в документах, единственный способ - рассказать об этом в описании. Так что нет возможности написать, например, [$case=true]. Даже в jsdoc он есть. - person FreeLightman; 07.03.2018