Fork me on GitHub
a Sensio Labs Product

7th Gear (v3.59.3) edition

Rule psr_autoloading

Classes must be in a path that matches their namespace, be at least one namespace deep and the class name should match the file name.


Using this rule is risky

This fixer may change your class name, which will break the code that depends on the old name.



If provided, the directory where the project code is placed.

Allowed types: null and string

Default value: null


Example #1

Default configuration.

--- Original
+++ New
 namespace PhpCsFixer\FIXER\Basic;
-class InvalidName {}
+class PsrAutoloadingFixer {}

Example #2

With configuration: ['dir' => './src'].

--- Original
+++ New
-namespace PhpCsFixer\FIXER\Basic;
-class InvalidName {}
+namespace PhpCsFixer\Fixer\Basic;
+class PsrAutoloadingFixer {}

Rule sets

The rule is part of the following rule sets:


The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.