Skip to content

Latest commit

 

History

History
198 lines (146 loc) · 4.43 KB

braces.rst

File metadata and controls

198 lines (146 loc) · 4.43 KB

Rule braces

The body of each structure MUST be enclosed by braces. Braces should be properly placed. Body of braces should be properly indented.

Configuration

allow_single_line_anonymous_class_with_empty_body

Whether single line anonymous class with empty body notation should be allowed.

Allowed types: bool

Default value: false

allow_single_line_closure

Whether single line lambda notation should be allowed.

Allowed types: bool

Default value: false

position_after_functions_and_oop_constructs

whether the opening brace should be placed on "next" or "same" line after classy constructs (non-anonymous classes, interfaces, traits, methods and non-lambda functions).

Allowed values: 'next', 'same'

Default value: 'next'

position_after_control_structures

whether the opening brace should be placed on "next" or "same" line after control structures.

Allowed values: 'next', 'same'

Default value: 'same'

position_after_anonymous_constructs

whether the opening brace should be placed on "next" or "same" line after anonymous constructs (anonymous classes and lambda functions).

Allowed values: 'next', 'same'

Default value: 'same'

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php

-class Foo {
-    public function bar($baz) {
-        if ($baz = 900) echo "Hello!";
+class Foo
+{
+    public function bar($baz)
+    {
+        if ($baz = 900) {
+            echo "Hello!";
+        }

-        if ($baz = 9000)
+        if ($baz = 9000) {
             echo "Wait!";
+        }

-        if ($baz == true)
-        {
+        if ($baz == true) {
             echo "Why?";
-        }
-        else
-        {
+        } else {
             echo "Ha?";
         }

-        if (is_array($baz))
-            foreach ($baz as $b)
-            {
+        if (is_array($baz)) {
+            foreach ($baz as $b) {
                 echo $b;
             }
+        }
     }
 }

Example #2

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

--- Original
+++ New
 <?php
 $positive = function ($item) { return $item >= 0; };
 $negative = function ($item) {
-                return $item < 0; };
+    return $item < 0;
+};

Example #3

With configuration: ['position_after_functions_and_oop_constructs' => 'same'].

--- Original
+++ New
 <?php

-class Foo
-{
-    public function bar($baz)
-    {
-        if ($baz = 900) echo "Hello!";
+class Foo {
+    public function bar($baz) {
+        if ($baz = 900) {
+            echo "Hello!";
+        }

-        if ($baz = 9000)
+        if ($baz = 9000) {
             echo "Wait!";
+        }

-        if ($baz == true)
-        {
+        if ($baz == true) {
             echo "Why?";
-        }
-        else
-        {
+        } else {
             echo "Ha?";
         }

-        if (is_array($baz))
-            foreach ($baz as $b)
-            {
+        if (is_array($baz)) {
+            foreach ($baz as $b) {
                 echo $b;
             }
+        }
     }
 }

Rule sets

The rule is part of the following rule sets:

@PSR12

Using the @PSR12 rule set will enable the braces rule with the config below:

['allow_single_line_anonymous_class_with_empty_body' => true]

@PSR2
Using the @PSR2 rule set will enable the braces rule with the default config.
@PhpCsFixer

Using the @PhpCsFixer rule set will enable the braces rule with the config below:

['allow_single_line_anonymous_class_with_empty_body' => true, 'allow_single_line_closure' => true]

@Symfony

Using the @Symfony rule set will enable the braces rule with the config below:

['allow_single_line_anonymous_class_with_empty_body' => true, 'allow_single_line_closure' => true]