Тип подсказок для гидратированных объектов в стандарте PHPDoc - PullRequest
0 голосов
/ 22 декабря 2018

Я выбираю сущности с помощью Doctrine и использую его для гидратации результатов в виде массивов.Проблема в том, что я не уверен, как создавать аннотации для этого вида возврата:

@return annotation of method \App\Repository\UserRepository::findOneByIdAsArray() does not specify type hint for items of its traversable return value.

Как я должен аннотировать возвращаемый массив множеством типов?

Я мог бы использовать что-то вроде этого:

/**
 * @return (string|int|bool)[]
 */

Но если объект объекта-источника изменится (UserEntity), эта аннотация будет неправильной.

Я также мог бы сделать что-то вроде этого:

/**
 * @return UserEntity[]
 */

Но я не думаю, что это правильно, потому что я не возвращаю сами объекты, а версию их значений в массиве.

Как мне поступить?

1 Ответ

0 голосов
/ 22 декабря 2018

Разделить несколько типов по |и используя [] в конце, чтобы указать, что это массив.

Что-то вроде:

/**
 * @return string|int|bool|UserEntity[]
 */

Предпочтительно вы используете полное пространство имен для UserEntity.

/**
 * @return string|int|bool|\My\Namespace\UserEntity[]
 */
...