【发布时间】:2016-11-23 05:14:14
【问题描述】:
我正在使用 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 中的一个错误?
【问题讨论】:
-
在过去的几年里,我每天都在使用 PHPStorm,不幸的是,它在不同版本之间充斥着诸如此类的恼人错误。
-
@Marty 你为什么一直使用它?怎么还没换?
-
@BeetleJuice 做什么?没有其他任何东西具有相同的 PHPDoc 支持。
标签: php phpstorm phpdoc php-7 type-hinting