phpdocumentor example docblock comment array php doctrine doctrine-orm phpdoc docblocks

php - example - Docblocks para colecciones de Doctrine



phpdoc include (3)

Aquí hay una solución que le permite autocompletar tanto en los métodos de Collection como en los métodos de sus objetos:

/** * @param Collection|User[] $users */ public function foo($users) { $users-> // autocompletion on Collection methods works foreach ($users as $user) { $user-> // autocompletion on User methods work } }

Funciona como un encanto en PhpStorm al menos.

¿Hay una manera estándar de documentar la clase esperada de entidades dentro de una Colección en el comentario de docblock en un proyecto de Doctrine? Algo como:

/** * @var Collection<User> */ protected $users;

Parece que PHPDoc es el estándar de facto para las anotaciones de docblock ahora, pero no pude encontrar ninguna mención para este caso de uso.


Creo que el User[] debería funcionar. No recuerdo dónde encontré eso.


Hay algunas formas diferentes de documentar las variables esperadas. Eche un vistazo a la documentación de phpDoc para obtener una lista completa de las etiquetas disponibles.

class MyClass { /** * Users collection * @var /Doctrine/ORM/ArrayCollection */ protected $users; /** * My method that doesn''t do much * @param /Doctrine/ORM/ArrayCollection $users * @return void */ public function myMethod(/Doctrine/ORM/ArrayCollection $users) { /** @var /Entities/Users $user */ $user = current($this->users); } }