Skip to content

Instantly share code, notes, and snippets.

@madalinignisca
Created January 14, 2022 20:41
Show Gist options
  • Save madalinignisca/b27963099bac55e163e8c3e8a08407b2 to your computer and use it in GitHub Desktop.
Save madalinignisca/b27963099bac55e163e8c3e8a08407b2 to your computer and use it in GitHub Desktop.
phpmd ruleset for Laravel
<?xml version="1.0"?>
<ruleset name="Sane Laravel ruleset"
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>
This enables everything and sets some exceptions
like allows Facades static method usage or
short methods in migrations.
You know, Laravel human features.
</description>
<rule ref="rulesets/cleancode.xml">
<exclude name="StaticAccess" />
</rule>
<rule ref="rulesets/cleancode.xml/StaticAccess">
<properties>
<property name="exceptions">
<value>
\Illuminate\Support\Facades\App,
\Illuminate\Support\Facades\Artisan,
\Illuminate\Support\Facades\Auth,
\Illuminate\Support\Facades\Blade,
\Illuminate\Support\Facades\Broadcast,
\Illuminate\Support\Facades\Bus,
\Illuminate\Support\Facades\Cache,
\Illuminate\Support\Facades\Config,
\Illuminate\Support\Facades\Cookie,
\Illuminate\Support\Facades\Crypt,
\Illuminate\Support\Facades\Date,
\Illuminate\Support\Facades\DB,
\Illuminate\Support\Facades\Event,
\Illuminate\Support\Facades\File,
\Illuminate\Support\Facades\Gate,
\Illuminate\Support\Facades\Hash,
\Illuminate\Support\Facades\Http,
\Illuminate\Support\Facades\Lang,
\Illuminate\Support\Facades\Log,
\Illuminate\Support\Facades\Mail,
\Illuminate\Support\Facades\Notification,
\Illuminate\Support\Facades\ParallelTesting,
\Illuminate\Support\Facades\Password,
\Illuminate\Support\Facades\Queue,
\Illuminate\Support\Facades\RateLimiter,
\Illuminate\Support\Facades\Redirect,
\Illuminate\Support\Facades\Redis,
\Illuminate\Support\Facades\Request,
\Illuminate\Support\Facades\Response,
\Illuminate\Support\Facades\Route,
\Illuminate\Support\Facades\Schema,
\Illuminate\Support\Facades\Session,
\Illuminate\Support\Facades\Storage,
\Illuminate\Support\Facades\URL,
\Illuminate\Support\Facades\Validator,
\Illuminate\Support\Facades\View
</value>
</property>
</properties>
</rule>
<rule ref="rulesets/codesize.xml" />
<rule ref="rulesets/controversial.xml" />
<rule ref="rulesets/design.xml" />
<rule ref="rulesets/naming.xml" />
<rule ref="rulesets/unusedcode.xml" />
</ruleset>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment