如何抑制;“会员有受保护的访问权”;以PhpStorm
我想抑制(禁用)PhpStorm中的警告消息“Member has protected access”(成员具有受保护的访问权限),用于特定位置(并非所有代码) 例如: 我试过的 :在如何抑制;“会员有受保护的访问权”;以PhpStorm,phpstorm,Phpstorm,我想抑制(禁用)PhpStorm中的警告消息“Member has protected access”(成员具有受保护的访问权限),用于特定位置(并非所有代码) 例如: 我试过的 :在Alt+Enter上,我没有任何东西连接到消息,因此无法禁用它。此外,在运行检查时,检查结果中没有此消息 我没有检查设置中的消息,因此无法禁用它 另一种尝试:使用@noinspection。我没有找到需要的信息 有人建议使用Editor->Colors&font->General->Erros and Warni
Alt+Enter
上,我没有任何东西连接到消息,因此无法禁用它。此外,在运行检查时,检查结果中没有此消息
我没有检查设置中的消息,因此无法禁用它
另一种尝试:使用@noinspection
。我没有找到需要的信息
有人建议使用Editor->Colors&font->General->Erros and Warnings->errors
禁用并抑制所有错误。但这不是我需要的
没有办法吗?您可以在类中实现
\uu set
魔术方法,它将这些警告转换为“通知”
由于PHPStorm无法分析您的代码以确保此属性可通过magic方法设置,因此它无法知道这是否是错误
当然,这是一种难看的解决方法,意味着运行时“无法访问受保护的属性”致命错误现在将成为例外,这在您的情况下可能是好的,也可能不是好的。AFAIK--您不能。从外部访问受保护的成员被认为是一个严重错误(我认为是lexer/parser级别的错误),而不仅仅是一些可以禁止的警告。您必须指定正确的typehint,其中
连接
将不受保护属性,或者使用某种在后台执行此操作的插件(特别是针对mock的插件)。没有更好的主意了。@LazyOne$mock
是类的mock对象。对于测试,我将$mock
的所有属性公开。没有其他方法可以测试它。我知道Mock是什么。但是IDE不知道:它不知道在您的代码中,连接
是来自$mock
的公共属性,而不是来自FTP
(根据您的PHPDoc)。有一个通过PHPDoc解决的方法。。。但这意味着要创建自定义类(在自定义类中,这些属性将被声明为公共的)——要满足IDE的要求太麻烦了/根本不实用。所以如果有什么的话。。最好是通过一些插件来完成,它可以动态地键入hint$mock
,而无需您提供此页面中找到的PHPDocI,但我不想编写_集方法,而是抑制错误检查
/**
* @throws \Exception
*/
public function __set($name, $value) {
throw new \Exception(sprintf('Property "%s" does not exist in %s.', $name, __CLASS__));
}