@igor1112

Зачем нужен PHPDoc в php-7?

Подскажите пожалуйста зачем нужно указывать тип параметра метода и тип того, что метод возвращает в phpDoc, если в седьмой версии php в самом методе можно указать тип параметров и тип возвраемого значания? Это ведь бессмысленное дублирование. Зачем так делают?
/**
     * Very important function
     *
     * @param string $param
     * @return array
     */
    function func(string $param) :array {
          
    }
  • Вопрос задан
  • 1117 просмотров
Решения вопроса 2
tommy-vercetti
@tommy-vercetti
Symfony/Golang
Когда необходимо указать:
  • Тип коллекции
  • Миксированный тип
  • Бросаемые исключения

/**
 * @return User[]
 * @throws BadRequestHttpException
 */
public function getUsers()
{

}
Ответ написан
@StepanRodionov
Web-developer
Существуют такие сценарии при которых функция возвращает значения, которые нельзя описать хинтом. Грубо говоря вот так
/**
*  @return Product|false
*/
public function getProduct(int $id)
{
    // ...
}


Как правило это неправильно (Битрикс особенно любит так делать), зато док-блок точно описывает что может вернуть метод. Здесь, кстати, еще один тонкий момент: можно написать не bool, а именно false, потому что хоть тип и bool, значения true там не будет никогда. Короче нужны эти штуки)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
YokiToki
@YokiToki
PHP-разработчик
Еще можно добавить что они используются статическими анализаторами, а так же различными IDE (для того же статического анализа)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы