我有 Laravel 应用程序并决定添加
phpmd
。
User
模型中的示例代码
use Illuminate\Support\Facades\Hash;
...
public function setPasswordAttribute($value)
{
$this->attributes['password'] = Hash::make($value);
}
并且
phpmd
显示错误
Avoid using static access to class '\Illuminate\Support\Facades\Hash' in method 'setPasswordAttribute'.
遇到此类错误如何处理?
您可以通过在代码开头添加注释(位于
<?php
标签下方或旁边)来抑制此警告:
// @SupressWarnings(PHPMD.StaticAccess)
您必须将此注释放在调用静态方法的每个文件的开头。
要全局执行此操作,您必须创建一个忽略规则的规则集文件,如下所示:
<?xml version="1.0"?>
<ruleset name="My first PHPMD rule set"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description>Laravel PHPMD ruleset</description>
<rule ref="rulesets/unusedcode.xml" />
<rule ref="rulesets/codesize.xml" />
<rule ref="rulesets/naming.xml" />
<rule ref="rulesets/cleancode.xml">
<exclude name="StaticAccess" />
</rule>
</ruleset>
请参阅 PHPMD 文档以了解更多详细信息:
https://phpmd.org/documentation/suppress-warnings.html
https://phpmd.org/documentation/creating-a-ruleset.html