Cómo especificar correctamente el tipo de array de objetos en PHPDoc para sugerencias del IDE
¡Hola a todos! Soy un desarrollador PHP principiante y me encontré con un problema que parece afectar a muchos. Cuando escribo código, realmente quiero que mi IDE (PhpStorm) me sugiera los métodos y propiedades de los objetos, especialmente cuando trabajo con arrays.
Por ejemplo, tengo una clase `User` con los métodos `getName()` y `getEmail()`. Creo una función que devuelve un array de usuarios:
```php
class User {
public function getName(): string { return 'John'; }
public function getEmail(): string { return 'john@example.com'; }
}
/**
* @return array
*/
function getUsers(): array {
return [new User(), new User()];
}
$users = getUsers();
foreach ($users as $user) {
// Aquí el IDE no sabe que $user es un objeto User
echo $user->getName(); // ¡Sin autocompletado!
}
```
El problema es que cuando escribo `$user->getName()`, mi IDE no ofrece autocompletado. Ve `$user` como `mixed`, porque en PHPDoc especifiqué solo `@return array`. He intentado escribir `@