Rearrange code
Configure arrangement rules
You can rearrange your code according to the arrangement rules set in the Code Style. PHP page of the Settings dialog.
Configure grouping rules
Grouping rules let you keep related class methods together.
Press Ctrl+Alt+S to open settings and select Editor | Code Style | PHP.
On the Arrangement tab, choose the grouping options in the Grouping rules area.
For the Keep dependent methods together option, you can select depth-first order or breadth-first order. The former will arrange the methods according to the nesting hierarchy; the latter will group together the sibling methods from the same nesting level.
class foo { public function parent() { $this->child1(); $this->child2(); } private function child1() { $this->nested1(); } private function nested1() { $this->nested2(); } private function nested2() { } private function child2() { } }class foo { public function parent() { $this->child1(); $this->child2(); } private function child1() { $this->nested1(); } private function child2() { } private function nested1() { $this->nested2(); } private function nested2() { } }
Create matching rules
Matching rules let you define the order of elements as a list of rules, where every rule has a set of matching conditions, such as modifier or type.
Press Ctrl+Alt+S to open settings and select Editor | Code Style | PHP.
On the Arrangement tab, click and provide the rule parameters in the Matching rules area.
Use the Type and Modifier filters to choose the code constructs and their visibility modifiers that should be regulated by the rule. Note that double-clicking a filter negates the condition.
Use the Name field to specify entry names the rule should affect.
This filter matches only entry names, such as property names, method names, class names, and so on. The filter supports regular expressions and uses the standard syntax. The match is performed against the entire name.
To sort code entries alphabetically, select the appropriate Matching rules entry and set the Order field to order by name.
You can also create groups (aliases) of rules and refer to them when creating a new matching rule.
Create rule aliases
With aliases, you can group several arrangement rules into a single entity and refer to it when you are adding a new matching rule.
Press Ctrl+Alt+S to open settings and select Editor | Code Style | PHP.
On the Arrangement tab, click .
In the Rules Alias Definitions dialog that opens, add a group name and its rules.
: adds a new alias.
: removes an existing alias from the list.
: copies a specified rule sequence to the created alias.
In the Rules alias definitions area, define the rule sequence for the created alias.
The created alias can now be referred to when adding a matching rule.
Create section rules
Section rules let you move methods or variables into the sections that you have defined.
Press Ctrl+Alt+S to open settings and select Editor | Code Style | PHP.
On the Arrangement tab, click and provide the rule parameters in the Matching rules area.
For example, you can create the following section rule:
After the arrangement, methods in the class will be rearranged as specified in the created section rule and will be surrounded by comments.
//methods start public function test() {} private function a() { return 1; } static function r() {} //methods end
Rearrange code
In the editor, select the code entries you want to rearrange and go to
in the main menu.
Automatically rearrange code on save
You can configure the IDE to rearrange code elements in modified files automatically when your changes are saved.
Press Ctrl+Alt+S to open settings and then select
.Enable the Rearrange code option.
Additionally, you can click Configure arrangement rules to specify the rules for reordering code elements for the selected language.