最近我发现,使用PHP 7.4,我们可以在类中键入提示属性。
这是我的代码
class Tournament {
private Organization $organization;
private array $teams;
public function __construct() {
$this->teams = array();
}
public function setOrganization(Organization $organization) {
if (!$this->organization->equals($organization)) {
$this->organization = $organization;
}
}
}
我使用PhpStorm,它向我警告($this->organization->equals(..))
,说未找到所引用的方法。但是我的Organization类明确定义了这种方法:
class Organization {
private array $tournaments;
private array $users;
private string $name;
public function __construct($name) {
$this->name = $name;
}
public function getName()
{
return $this->name;
}
public function getTournaments()
{
return $this->tournaments;
}
public function getUsers()
{
return $this->users;
}
// ...
public function equals(Organization $organization) {
return $organization->getName() == $this->getName();
}
}
那为什么锦标赛类有问题?我已经指定了类型,因此我认为这应该可行。
答案 0 :(得分:0)
类型提示将可用于PHP 7.4和更高版本。
但是您需要配置PhpStorm,以便它知道您所使用的语言的版本。
转到“设置”->“语言和框架”->“ PHP”,然后在此处设置语言级别,以使其指定为“ PHP 7.4”。像这样: