Мой коллега отказался от проверки кода из-за ненужного phpdoc в локальном массиве ($params в нижнем примере) в функции. См. пример:
/**
* comment...
*
* @return int
*/
public function testFunction()
{
/** @var string[] $params */
$params = ['string1', 'string2'];
etc...
return 0;
}
Может ли кто-нибудь объяснить мне, почему определение phpdocs для локальных массивов не требуется? Я получил объяснение от моего коллеги, что нам не нужно писать phpdocs для локальных массивов. Мы используем PhpStorm и Doctrine.
Спасибо за ваше время.
Это полностью основано на мнении. Многие люди предпочитают PHPDoc для всех локальных переменных. В этом случае я бы лично использовал PHPDoc, как это сделали вы.






Написание phpdoc типа string[] для массива полезно, когда массив является параметром или возвращаемым значением, поэтому вы можете указать, какие типы значений должен содержать массив. Но в этом случае это массив строковых литералов, определенных прямо здесь. phpdoc не говорит вам ничего, чего вы не могли бы узнать, просто взглянув на него.
Технически @var предназначен для документирования свойств класса, но в некоторых случаях он может быть полезен внутри функции, чтобы помочь IDE, когда она не может определить тип переменной. Впрочем, здесь это тоже не особо нужно.
Я не могу точно знать, именно поэтому ваш коллега посчитал это ненужным, но другого логического объяснения этому я не вижу.
«Многие хорошие вопросы вызывают некоторую степень мнения, основанного на опыте экспертов, но ответы на этот вопрос, как правило, почти полностью основаны на мнениях, а не на фактах, ссылках или конкретном опыте».