如何配置PHPStan以避免特定类和/或魔术方法引起的误报?
在项目中使用PHP RedBean时,PHPStan会报告如下问题:如何配置PHPStan以避免特定类和/或魔术方法引起的误报?,php,redbean,phpstan,Php,Redbean,Phpstan,在项目中使用PHP RedBean时,PHPStan会报告如下问题: 87 Access to an undefined property RedBeanPHP\OODBBean::$token. 之所以会发生这种情况,是因为RedBean的OODBBean类使用神奇的方法将类属性与数据库表列逻辑绑定。顺便说一句,RedBean实现该功能的方式没有什么问题 有没有办法配置PHPStan来忽略来自RedBean(或任何其他类)的问题?或者忽略魔法方法可能导致的后果?根据您的具体需要,您有
87 Access to an undefined property RedBeanPHP\OODBBean::$token.
之所以会发生这种情况,是因为RedBean的OODBBean类使用神奇的方法将类属性与数据库表列逻辑绑定。顺便说一句,RedBean实现该功能的方式没有什么问题
有没有办法配置PHPStan来忽略来自RedBean(或任何其他类)的问题?或者忽略魔法方法可能导致的后果?根据您的具体需要,您有多种选择。对于魔法属性:
stdClass
,则可以将类名放入universalObjectCratesClasses
config参数中。看@property
注释来定义它们\uuu获取的和\uu设置的方法逻辑。这是一种健壮的方法,可以定义在任何情况下对象上都存在哪些确切属性。这使得PHPStan非常强大,因为它避免了误报——它仍然会报告访问的属性,即使这些属性没有以神奇的方式定义。有关更多详细信息,请参阅
对于神奇的方法,同样的事情在3。应用-您可以编写一个扩展来描述静态分析器的
\u call
中的逻辑。有关更多详细信息,请参阅。UniversityObjectCratesClass正是我想要的。