150 lines
4 KiB
XML
150 lines
4 KiB
XML
<?xml version="1.0"?>
|
|
<documentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:noNamespaceSchemaLocation="https://phpcsstandards.github.io/PHPCSDevTools/phpcsdocs.xsd"
|
|
title="Control Structure Spacing"
|
|
>
|
|
<standard>
|
|
<![CDATA[
|
|
Put one space on both sides of the opening and closing parentheses of control structures.
|
|
]]>
|
|
</standard>
|
|
<code_comparison>
|
|
<code title="Valid: One space on each side of the open and close parentheses.">
|
|
<![CDATA[
|
|
while<em> ( </em>have_posts()<em> ) </em>{}
|
|
|
|
// For multi-line conditions,
|
|
// a new line is also accepted.
|
|
if<em> ( </em>true === $condition
|
|
&& $count > 10
|
|
<em>) </em>{}
|
|
]]>
|
|
</code>
|
|
<code title="Invalid: Incorrect spacing around the open and close parentheses.">
|
|
<![CDATA[
|
|
// No spaces.
|
|
while<em>(</em>have_posts()<em>)</em>{}
|
|
|
|
// Too much space.
|
|
while<em> ( </em>have_posts()<em> ) </em>{}
|
|
]]>
|
|
</code>
|
|
</code_comparison>
|
|
<standard>
|
|
<![CDATA[
|
|
The open brace for the control structure must be on the same line as the close parenthesis or the control structure keyword, with one space between them.
|
|
]]>
|
|
</standard>
|
|
<code_comparison>
|
|
<code title="Valid: Open brace on the same line as the keyword/close parenthesis.">
|
|
<![CDATA[
|
|
try<em> {</em>
|
|
// Do something.
|
|
} catch (
|
|
ExceptionA | ExceptionB $e
|
|
<em>) {</em>
|
|
}
|
|
]]>
|
|
</code>
|
|
<code title="Invalid: Open brace on a different line than the keyword/close parenthesis.">
|
|
<![CDATA[
|
|
try
|
|
<em>{</em>
|
|
// Do something.
|
|
} catch ( Exception $e )
|
|
<em>(</em>
|
|
}
|
|
]]>
|
|
</code>
|
|
</code_comparison>
|
|
<code_comparison>
|
|
<code title="Valid: One space between the keyword/close parenthesis and the open brace.">
|
|
<![CDATA[
|
|
if ( $condition )<em> </em>{
|
|
// Do something.
|
|
}
|
|
]]>
|
|
</code>
|
|
<code title="Invalid: Too much space between the keyword/close parenthesis and the open brace.">
|
|
<![CDATA[
|
|
if ( $condition )<em> </em>{
|
|
// Do something.
|
|
}
|
|
]]>
|
|
</code>
|
|
</code_comparison>
|
|
<standard>
|
|
<![CDATA[
|
|
When using alternative control structure syntaxes, there should be one space between the close parenthesis and the colon opening the control structure body.
|
|
]]>
|
|
</standard>
|
|
<code_comparison>
|
|
<code title="Valid: One space before the colon.">
|
|
<![CDATA[
|
|
foreach ( $types as $type )<em> </em>:
|
|
// Do something.
|
|
endforeach;
|
|
]]>
|
|
</code>
|
|
<code title="Invalid: No space before the colon.">
|
|
<![CDATA[
|
|
foreach ( $types as $type )<em></em>:
|
|
// Do something.
|
|
endforeach;
|
|
]]>
|
|
</code>
|
|
</code_comparison>
|
|
<standard>
|
|
<![CDATA[
|
|
When a control structure is nested in another control structure and the closing braces follow each other, there should be no blank line between the closing braces.
|
|
]]>
|
|
</standard>
|
|
<code_comparison>
|
|
<code title="Valid: No blank line between the consecutive close braces.">
|
|
<![CDATA[
|
|
if ( $a === $b ) {
|
|
if ( $something ) {
|
|
// Do something.
|
|
}
|
|
}
|
|
]]>
|
|
</code>
|
|
<code title="Invalid: Blank line(s) between the consecutive close braces.">
|
|
<![CDATA[
|
|
if ( $a === $b ) {
|
|
if ( $something ) {
|
|
// Do something.
|
|
}<em>
|
|
|
|
|
|
</em>}
|
|
]]>
|
|
</code>
|
|
</code_comparison>
|
|
<standard>
|
|
<![CDATA[
|
|
[Optional, turned off by default]
|
|
There should be no blank line(s) at the start or end of the control structure body.
|
|
]]>
|
|
</standard>
|
|
<code_comparison>
|
|
<code title="Valid: No blank lines at the start or end of the control structure body.">
|
|
<![CDATA[
|
|
if ( $a === $b ) {
|
|
echo $a;
|
|
}
|
|
]]>
|
|
</code>
|
|
<code title="Invalid: Blank line(s) at the start and end of the control structure body.">
|
|
<![CDATA[
|
|
if ( $a === $b ) {
|
|
<em>
|
|
|
|
</em> echo $a;
|
|
<em>
|
|
|
|
</em>}
|
|
]]>
|
|
</code>
|
|
</code_comparison>
|
|
</documentation>
|