PhpStorm 9.0.0 Help

Common Code Style Options: Wrapping and BracesCode Style. CoffeeScript

Code Style. PHP

File | Settings | Editor | Code Style | PHP


Use this page to configure options for PHP files. View the result in the Preview pane on the right.

On this page:

Set From

Click this link to choose the base for the current language default code style from the pop-up list, that appears. The list contains two options:

  • Language: choose this option to inherit the coding style settings from another language. Select the source language from the list, that opens. So doing, only the settings that are applicable to the current language are taken. All the other settings are not affected.
  • Predefined code style: choose this option to use the coding standards defined for a specific framework. Select one of the following frameworks from the list:

This link appears in the upper-right corner of the language-specific code style page, when applicable.

Click Reset to discard changes and return to the initial set of code style settings.

Tabs and Indents

See Common Code Style Options: Tabs and Indents for the settings that are common for all languages.

PHP-Specific Formatting Settings for Tabs and Indents

  • Indent as template language unless PHP-only

    When this check box is selected, %product applies the indentation style specified for the template language of the source code into which PHP fragments are embedded. If the PHP code is not surrounded with any other code, the PHP style is applied depending on the status of the Use tab charaqcter check box.

    When this check box is cleared, the PHP style is applied no matter whether the PHP code fragment is embedded or the entire file is .php.

Spaces

See Common Code Style Options: Spaces for the settings that are common for all languages.

PHP-Specific Formatting Settings for Spaces

Select or clear the check boxes to have spaces inserted, not inserted, or removed in the following contexts:

  1. Before Parentheses
    • Array initializer parentheses

      Select this check box to have a space inserted before the opening parenthesis in array declarations, such as:

      $array = array (0 => "zero", 1 => "one");

      Of the check box is cleared, no space is inserted and the code looks as follows:

      $array = array(0 => "zero", 1 => "one");

  2. Around Operators
    • Concatenation

      Select this check box to have spaces inserted before and after the concatenation operator (.) so the code looks as follows:

      echo "The result is " . $i;

      When the check box is cleared, no spaces are inserted around the concatenation operator so the code looks as follows:

      echo "The result is ".$i;

  3. Before Left Brace
    • Class left brace

      Select this check box to have a space inserted between the class name and the opening brace in class declarations:

      class Class1 { function Foo() }

      When the check box is cleared, no space is inserted:

      class Class1{ function Foo() }

      Selecting or clearing the check box is relevant only when Braces placement in class declarations is set to End of line on the Wrapping and Braces tab.

  4. Within
    • Array initializer parentheses
    • Grouping parentheses
    • <?= and >
  5. In Ternary Operator (?:)
    • Between <?= and >
  6. Other
    • After semicolon
    • After type cast
    • Before unary Not (!)
    • After unary Not (!)

Wrapping and Braces

See Common Code Style Options: Wrapping and Braces for the settings that are common for all languages.

PHP-Specific Formatting Settings for Wrapping and Braces

Select or clear the check boxes to have spaces inserted/not inserted or removed in the following contexts:

  1. Braces placement
    • In namespace
    • In class declaration
  2. Extends/implements list
    • Align when multiline
  3. Extends/implements keyword
  4. Function declaration parameters
    • Keep ')' and '{' on one line
  5. Chained method calls
    • Align when multiline
    • Place ';' on new line
  6. Assignment statement
    • Assignment sigh on new line
    • Align consecutive assignments
  7. Class field/constant group
    • Align fields in columns
    • Align constants
  8. Array initializer
    • Align when multiline
    • New line after '['
    • Place ']' on new line
  9. Modifier list
    • Wrap after modifier list

Blank lines

Use this tab to define where and how many blank lines you want PhpStorm to retain and insert in your code after reformatting. For each type of location, specify the number of blank lines to be inserted. The results are displayed in the Preview pane.

ItemDescription
Keep Maximum Blank LinesIn this area, specify the number of blank lines to be kept after reformatting in the specified locations.
Minimum Blank LinesIn the text boxes in this area, specify the number of blank lines to be present in the specified locations.

PHPDoc

In this tab, configure the code style to be applied inside PHPDoc comments. Learn more about documenting PHP code at Creating PHP Documentation Comments.

ItemDescription
Align parameter names Select this check box to have the &<paramname> elements aligned.
Keep blank lines Select this check box to suppress removing blank lines automatically.
Blank lines around parameters Select this check box to have a blank line inserted above and below the section with @param tags.
Blank line before the first tag Select this check box to have an blank line inserted above the first PHPDoc tag.
Align tag comments Select this check box to have the description elements aligned.
Wrap long lines Select this check box to have the text that exceeds the right margin wrapped to the next line.
Generated Doc Blocks In this area, configure the code style to be applied within generated PHP documentation blocks, see Creating PHP Documentation Comments.
  • Use fully-qualified class names: select this check box to have %product specify a fully class names for properties, function parameters, return and throws values, etc.
  • Type tag: from this drop-down list, choose the tag to use for properties, the available options are @var and @type. The previously introduced @type tag has been reverted to @var, and it is recommended that you use @var for properties. See https://github.com/phpDocumentor/fig-standards/pull/55 for details.

Other

ItemDescription
Indent code in PHP tags Select this check box to have the code enclosed in <?php> tags indented against the opening <?php tag.
Convert True/False constants to upper case Select this check box to have the true and false constants displayed in the upper case.
Convert Null constant to upper case Select this check box to have the null constant displayed in the upper case.
Blank line before return statement Select this check box to have PhpStorm automatically insert a blank line before each return statement.
Spaces around variables/expressions in brackets
  • Select this check box to have PhpStorm insert spaces inside brackets during reformatting only if the brackets enclose a variable or an expression. This setting affects reformatting only if you have not configured force insertion of spaces inside brackets by selecting the Brackets check box under the Within node in the Spaces tab.

    This option helps you keep your code in accordance with the WordPress PHP Coding Standards.

  • If this check box is cleared, the spaces insertion policy depends on the settings under the Within node in the Spaces tab regardless of the type of content inside brackets: if the Brackets check box is selected, spaces are always inserted, if the check box is cleared, spaces are never inserted.
Code Commenting In this area, configure the code style options to be applied to comments.
  • Line comment at first column: - select this check box to have line comments start at the first column, without any indentation. Note that no extra blank spaces are added after the line comment characters. The check box is by default selected.

    When the check box is cleared, the line comments start from the minimum indentation within the selected code block to be commented.

Array declaration style
  • Force short declaration style: select this check bo to have PhpStorm replace the array() constructs with [] in array declarations during reformatting, see Arrays. Syntax for details.
  • Align key-value pairs: select this check box to have the => separators in key-value assignments aligned.
  • Add a comma after last element in multiline array: select this check box to have PhpStorm automatically insert a comma after the last item in declarations of multiline arrays to meet the required coding standard, for example, the Symfony coding standards .

Arrangement

ItemDescription
Grouping RulesUse this area to set the grouping rules.
  • Keep getters and setters together

    Select this check box to keep getter and setter methods together. By default, this check box is selected.

  • Keep overridden methods together

    Select this check box to group the overridden methods together by class and interface. In order: list, select keep or by name options.

  • Keep dependent methods together

    Select this check box to group the dependent methods together. In order: list, select depth-first or breadth-first options.

Matching rulesUse this area to define elements order as a list of rules, where every rule has a set of matches such as modifier or type.
  • add - use this button to add a rule. The empty rule dialog window opens.
  • delete - use this button to remove the rule from the list.
  • edit1 - use this button to edit an existing rule. To see this button, navigate to the rule that you want to edit and click on the button. In pop-up window that opens, modify the rule fields.
  • arrowUp arrowDown - use these buttons to move the selected rule up or down.
Empty ruleUse this window to create a new matching rule or edit an existing one. You can select from the following filters:
  • Type - use this filter to choose classes or methods for your rule.
    Note that clicking twice on the type keyword will negate the condition.
  • Name - use this field to specify entry names in the rule. This filter matches only entry names such as field names, method names, class names and etc. The filter supports regular expressions and uses a standard syntax. The match is performed against the entire name.
  • Order - use this option to select the sorting order for the rule. This option is useful when more than one element uses the same matching rule. In this case, selecting Keep order will keep the same order as was set before the rearrangement and selecting Order by Name will sort the elements with the same matching rule by their names.
  • Aliases - this option displays aliases that were defined in the Rules Alias Definition dialog. You can remove the ones you do not need.
icon_sort This icon appears when you select Order by Name in Order option. The icon indicates that the items in this rule are alphabetized.

See Also

Last modified: 25 July 2015