我正在使用 PhpStorm 10.0.2 开发一个基于 PHP 7 的项目。
每当我为一个具有标量类型提示(string
、int
等)的函数参数声明 PHPDoc @param
时,就会收到以下警告:
参数类型不匹配
以下是一些 PhpStorm 抱怨的示例代码:
class HostConfig
{
/**
* @var string
*/
private $hostname;
/**
* @var string
*/
private $domainname;
/**
* Creates a new instance of hte HostConfig model.
*
* @param string $hostname A host name (e.g. "dev", "int", "feature-xy")
* @param string $domainname A domain name (e.g. "example.com")
*
* @throws \InvalidArgumentException If the given $hostname is empty
* @throws \InvalidArgumentException If the given $domainname is empty
*/
public function __construct(string $hostname, string $domainname)
{
if (strlen(trim($hostname)) === 0) {
throw new \InvalidArgumentException("The host name cannot be empty");
}
if (strlen(trim($domainname)) === 0) {
throw new \InvalidArgumentException("The domain name cannot be empty");
}
$this->hostname = $hostname;
$this->domainname = $domainname;
}
}
以下是 PhpStorm 显示构造函数 PHPDoc 中两个强类型字符串参数的“参数类型不匹配”提示的屏幕截图:
请问是否有人知道我是否做错了什么,还是这只是 PhpStorm 的一个 bug?