Fork me on GitHub
a Sensio Labs Product

I ate three cookies ūüć™ (v3.40.2) edition

Rule braces_position¶

Braces must be placed as configured.

Configuration¶

allow_single_line_anonymous_functions¶

Allow anonymous functions to have opening and closing braces on the same line.

Allowed types: bool

Default value: true

allow_single_line_empty_anonymous_classes¶

Allow anonymous classes to have opening and closing braces on the same line.

Allowed types: bool

Default value: true

anonymous_classes_opening_brace¶

The position of the opening brace of anonymous classes‚Äė body.

Allowed values: 'next_line_unless_newline_at_signature_end' and 'same_line'

Default value: 'same_line'

anonymous_functions_opening_brace¶

The position of the opening brace of anonymous functions‚Äė body.

Allowed values: 'next_line_unless_newline_at_signature_end' and 'same_line'

Default value: 'same_line'

classes_opening_brace¶

The position of the opening brace of classes‚Äė body.

Allowed values: 'next_line_unless_newline_at_signature_end' and 'same_line'

Default value: 'next_line_unless_newline_at_signature_end'

control_structures_opening_brace¶

The position of the opening brace of control structures‚Äė body.

Allowed values: 'next_line_unless_newline_at_signature_end' and 'same_line'

Default value: 'same_line'

functions_opening_brace¶

The position of the opening brace of functions‚Äė body.

Allowed values: 'next_line_unless_newline_at_signature_end' and 'same_line'

Default value: 'next_line_unless_newline_at_signature_end'

Examples¶

Example #1¶

Default configuration.

--- Original
+++ New
 <?php
-class Foo {
+class Foo
+{
 }

-function foo() {
+function foo()
+{
 }

-$foo = function()
-{
+$foo = function() {
 };

-if (foo())
-{
+if (foo()) {
     bar();
 }

-$foo = new class
-{
+$foo = new class {
 };

Example #2¶

With configuration: ['control_structures_opening_brace' => 'next_line_unless_newline_at_signature_end'].

--- Original
+++ New
 <?php
-if (foo()) {
+if (foo())
+{
     bar();
 }

Example #3¶

With configuration: ['functions_opening_brace' => 'same_line'].

--- Original
+++ New
 <?php
-function foo()
-{
+function foo() {
 }

Example #4¶

With configuration: ['anonymous_functions_opening_brace' => 'next_line_unless_newline_at_signature_end'].

--- Original
+++ New
 <?php
-$foo = function () {
+$foo = function ()
+{
 };

Example #5¶

With configuration: ['classes_opening_brace' => 'same_line'].

--- Original
+++ New
 <?php
-class Foo
-{
+class Foo {
 }

Example #6¶

With configuration: ['anonymous_classes_opening_brace' => 'next_line_unless_newline_at_signature_end'].

--- Original
+++ New
 <?php
-$foo = new class {
+$foo = new class
+{
 };

Example #7¶

With configuration: ['allow_single_line_empty_anonymous_classes' => true].

--- Original
+++ New
 <?php
 $foo = new class { };
-$bar = new class { private $baz; };
+$bar = new class {
+private $baz;
+};

Example #8¶

With configuration: ['allow_single_line_anonymous_functions' => true].

--- Original
+++ New
 <?php
 $foo = function () { return true; };
-$bar = function () { $result = true;
-    return $result; };
+$bar = function () {
+$result = true;
+    return $result;
+};

Rule sets¶

The rule is part of the following rule sets:

  • @PER with config:

    ['allow_single_line_empty_anonymous_classes' => true]

  • @PER-CS with config:

    ['allow_single_line_empty_anonymous_classes' => true]

  • @PER-CS1.0 with config:

    ['allow_single_line_empty_anonymous_classes' => true]

  • @PER-CS2.0 with config:

    ['allow_single_line_empty_anonymous_classes' => true]

  • @PSR2

  • @PSR12 with config:

    ['allow_single_line_empty_anonymous_classes' => true]

  • @PhpCsFixer with config:

    ['allow_single_line_anonymous_functions' => true, 'allow_single_line_empty_anonymous_classes' => true]

  • @Symfony with config:

    ['allow_single_line_anonymous_functions' => true, 'allow_single_line_empty_anonymous_classes' => true]

Source class¶

PhpCsFixer\Fixer\Basic\BracesPositionFixer