如何在 PHPDoc 中正确指定对象数组类型以实现 IDE 提示?
大家好!我是一名初学 PHP 的开发者,遇到了一个似乎困扰很多人的问题。当我编写代码时,我非常希望我的 IDE(PhpStorm)能够提示对象的方法和属性,尤其是在处理数组时。
例如,我有一个 `User` 类,包含 `getName()` 和 `getEmail()` 方法。我创建了一个返回用户数组的函数:
```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) {
// 这里 IDE 不知道 $user 是 User 对象
echo $user->getName(); // 没有自动补全!
}
```
问题在于,当我写 `$user->getName()` 时,我的 IDE 不提供自动补全。它将 `$user` 视为 `mixed`,因为我在 PHPDoc 中只写了 `@return array`。我尝试过写 `@