1.3 KiB
Refactoring Code
Sometimes you want to make big changes to your codebase like moving methods or classes.
Psalm has a refactoring tool you can access with either vendor/bin/psalm-refactor
or vendor/bin/psalm --refactor
, followed by appropriate commands.
Moving classes between namespaces
vendor/bin/psalm-refactor --move "Ns1\Foo" --into "Ns2"
tells Psalm to move class Ns1\Foo
into the namespace Ns2
, so any reference to Ns1\Foo
becomes Ns2\Foo
).
Moving and renaming classes
vendor/bin/psalm-refactor --rename "Ns1\Foo" --to "Ns2\Bar\Baz"
tells Psalm to move class Ns1\Foo
into the namespace Ns2\Bar
and rename it to Baz
, so any reference to Ns1\Foo
becomes Ns2\Bar\Baz
).
Moving methods between classes
vendor/bin/psalm-refactor --move "Ns1\Foo::bar" --into "Ns2\Baz"
tells Psalm to move a method named bar
inside Ns1\Foo
into the class Ns2\Baz
, so any reference to Ns1\Foo::bar
becomes Ns2\Baz::bar
). Psalm currently allows you to move static methods between aribitrary classes, and instance methods into child classes of that instance.
Moving and renaming methods
vendor/bin/psalm-refactor --rename "Ns1\Foo::bar" --to "Ns2\Baz::bat"
tells Psalm to move method Ns1\Foo::bar
into the class Ns2\Baz
and rename it to bat
, so any reference to Ns1\Foo::bar
becomes Ns2\Baz::bat
).