Phpdocs на локальном массиве - PullRequest
1 голос
/ 04 апреля 2019

Мой коллега отказал в проверке кода из-за ненужного phpdoc в локальном массиве ($params в нижнем примере) в функции.Смотрите пример:

/**
 * comment...
 *
 * @return int
 */
public function testFunction()
{
    /** @var string[] $params */
    $params = ['string1', 'string2'];

    etc...

    return 0;
}

Может кто-нибудь объяснить мне, почему определение phpdocs для локальных массивов не нужно?Я получил объяснение от моего коллеги, что нам не нужно писать phpdocs на локальных массивах.Мы используем PhpStorm и Doctrine.

Спасибо за ваше время.

1 Ответ

1 голос
/ 04 апреля 2019

Запись phpdoc, например string[], для массива полезна, когда массив является параметром или возвращаемым значением, поэтому вы можете указать, какие типы значений должен содержать массив.Но в этом случае это массив строковых литералов, определенных прямо здесь.Phpdoc не говорит вам ничего, что вы не можете знать, просто взглянув на него.

Технически @var предназначено для документирования свойств класса, но в некоторых случаях это может быть полезновнутри функции, чтобы помочь IDE, когда она не может определить тип переменной.Хотя в этом и нет необходимости.

Я не могу точно знать, именно поэтому ваш коллега считал это ненужным, но я не вижу другого логического объяснения этому.

...