Skip to content
Snippets Groups Projects
Select Git revision
  • cb7c53e3f9b2d1b01f0133f5b8c6d94294b9bb1a
  • 3.9 default
  • develop
  • 6.0
  • 5.0
  • 4.0
  • scrutinizer-patch-4
  • scrutinizer-patch-3
  • scrutinizer-patch-2
  • scrutinizer-patch-1
  • 3.7
  • 3.8
  • 3.6
  • 3.9_backported
  • 3.8_backported
  • 3.7_backported
  • 3.5
  • 3.6_backported
  • 3.5_backported
  • 3.4
  • 3.3_backported
  • 6.0.4
  • 6.0.3
  • 5.0.7
  • 6.0.2
  • 6.0.1
  • 5.0.6
  • 6.0.0
  • 5.0.5
  • 6.0.0-rc
  • 5.0.4
  • 6.0.0-beta
  • 5.0.3
  • 4.0.6
  • 5.0.2
  • 5.0.1
  • 4.0.5
  • 5.0.0
  • 4.0.4
  • 5.0.0-rc2
  • 5.0.0-rc1
41 results

phpstandard.cfg.xml

Blame
  • phpstandard.cfg.xml 9.82 KiB
    <!-- somewhat inspired by java checkstyle -->
    <phpcheckstyle-configuration>
    
    	<!--  ****************  -->
        <!--        Naming      -->
        <!--  ****************  -->
        
        <!-- Check Constant Naming -->
        <test name="constantNaming" regexp="/^[A-Z_][A-Z_]*[A-Z_]$/" level="ERROR"/>
        
         <!-- Check Variable Naming -->
        <test name="variableNaming" regexp="/^[a-z_][a-zA-Z0-9]*$/" />
        
        <!-- Check Function Naming -->
        <test name="functionNaming" regexp="/^[a-z]/" level="ERROR"/>
        
        <!-- Check Private Function Naming -->
        <test name="privateFunctionNaming" regexp="/^_[a-z]/" level="ERROR"/>
        
        <!-- Checks the constuctor naming -->
        <!-- old = old style (constructor = name of the class) -->
        <!-- new = "__construct()" -->    
        <test name="constructorNaming">
            <property name="naming" value="old"/>
        </test>
        
        <!-- Check Class Naming -->
        <test name="classNaming" regexp="/^[A-Z]/" level="ERROR"/>
        
        
    	<!--  ****************  -->
        <!--      PHP Tags      -->
        <!--  ****************  -->    
        
            
        <!-- Test if a short php code open tag is used (<? instead of <?php ). -->
        <test name="noShortPhpCodeTag"/>
        
        <!-- Test if a PHP closing file is present at the end of a file -->
        <test name="noFileCloseTag"/>
        
        <!-- Test if a file finish with some inner HTML (OK for some view but could provoque "header already sent" error) -->
        <test name="noFileFinishHTML" level="ERROR" />
        
        
        <!--  ****************  -->
        <!--      Comments      -->
        <!--  ****************  -->    
        
    	<!-- Check if some C style comments are used (#) -->    
        <test name="noShellComments"/>
        
        <!-- Tests that every function and class is immediately preceded by a docblock. A property "excludePrivateMembers" can be set if you want to disable docblocks for private member functions. -->
        <test name="docBlocks">
            <property name="excludePrivateMembers" value="true"/>
            <property name="testReturn" value="true"/>
            <property name="testParam" value="true"/>
            <property name="testThrow" value="true"/>
        </test>
        
        <!--  ****************  -->
        <!--    Indentation     -->
        <!--  ****************  -->    
                 
        <!-- Tests to make sure that a line does not contain the tab character. -->
        <!-- <test name="noTabs"/>  -->
        
        <!-- Test to make sure that every control structure is included within a {} block, even if it is syntactically optional. -->
        <test name="controlStructNeedCurly"/>
        
        <!-- Check the position of the open curly brace in a control structure (if) -->
        <!-- sl = same line -->
        <!-- nl = new line -->    
        <test name="controlStructOpenCurly">
            <property name="position" value="sl"/>
        </test>
        
        <!-- Check the position of the close curly brace  -->
        <test name="controlCloseCurly" level="INFO">
        </test>
            
        <!-- Check the position of the open curly brace after a function -->
        <!-- sl = same line -->
        <!-- nl = new line -->
    	<!--
        <test name="funcDefinitionOpenCurly">
            <property name="position" value="sl"/>
        </test>
        -->
    	
    	<!-- Check the position of the else -->
    	<!-- sl = same line -->
        <!-- nl = new line -->
        <test name="controlStructElse">
    	 	<property name="position" value="nl"/>
    	</test>
        
        
        <!--  ****************  -->
        <!--      Spaces        -->
        <!--  ****************  --> 
            
        <!-- Tests that the control statements ("if", "else", "while", "for", etc.) 
             are followed by a space before the opening parenthesis. 
             PEAR standard stipulates this to distinguish it from function calls. 
        -->
       <test name="spaceAfterControlStmt"/>
       
        <!-- Check that there is no space after a function name in a function call -->
        <!-- <test name="noSpaceAfterFunctionName" level="INFO"></test>  -->  
    	 
        
        <!-- Check for the (required) presence of a white space after some tokens (like ,) -->
        <test name="checkWhiteSpaceAfter"> 
        	<exception value="."/>  <!-- Exceptions to this rule -->
        </test>
        
        <!-- Check for the (required) presence of a white space before some tokens -->
        <test name="checkWhiteSpaceBefore">
        	<exception value="."/>  <!-- Exceptions to this rule -->
        	<exception value=":"/>  <!-- Because of the switch/case --> 
        </test> 
        
            
        <!-- Check that there is no space before before some tokens  -->
        <test name="noSpaceBeforeToken" level="INFO">
        </test>
        
        <!-- Check that there is no space after some tokens -->
        <test name="noSpaceAfterToken"  level="INFO">
        </test>
        
        <!--  ****************  -->
        <!--      Metrics       -->
        <!--  ****************  --> 
        
        <!-- Check that the lenght of the line doesn't pass the max value -->
        <test name="lineLength" level="INFO">
            <property name="maxLineLength" value="160"/>
        </test>
        
        <!-- Checks that the lenght (in lines) of a function doesn't pass the max value -->
        <test name="functionLength" level="INFO">
            <property name="maxLength" value="500"/>
        </test>
        
        <!--  Checks for excessive parameters in a function declaration -->
        <!-- <test name="functionMaxParameters">
            <property name="maxParameters" value="4"/>
        </test> -->
        
        <!-- Check Cyclomatic Complexity -->
    	<!-- see http://www.aivosto.com/project/help/pm-complexity.html -->
     	<test name="cyclomaticComplexity">
            <!-- Level raising a warning -->
            <property name="warningLevel" value="10"/>
            <!-- Level raising an error -->
            <property name="errorLevel" value="20"/>
        </test>
        
        <!--  ****************  -->
        <!--      Other         -->
        <!--  ****************  --> 
            
        <!-- All arguments with default values should be at the end -->
        <test name="defaultValuesOrder"/>
                        
        <!-- Check for prohibited functions -->
        <!-- @see http://www.php.net/manual/en/indexes.php -->
        <test name="checkProhibitedFunctions">
        	<item value="echo"/>
        	<item value="system"/>
        	<item value="print_r"/>
        	<item value="var_dump"/>
        	<item value="dl"/>
        	<item value="exec"/>
        	<item value="passthru"/>
        	<item value="delete"/>
        	<item value="ereg_replace"/>
        	<item value="ereg"/>
        	<item value="eregi"/>
        	<!-- <item value="copy"/>  -->
        	<!-- <item value="fwrite"/>  -->
        </test>
        
        <!-- Check for prohibited tokens -->
        <!-- @see http://www.php.net/manual/en/tokens.php -->
        <test name="checkProhibitedTokens">
        	<item value="T_BAD_CHARACTER"/>
        	<item value="T_DECLARE"/>
        	<item value="T_ENDDECLARE"/>
        	<item value="T_ENDFOR"/>
        	<item value="T_ENDFOREACH"/>
        	<item value="T_ENDIF"/>
        	<item value="T_ENDSWITCH"/>
        	<item value="T_ENDWHILE"/>
        	<item value="T_HALT_COMPILER"/>
        	<item value="T_OLD_FUNCTION"/>
        	<item value="T_PRINT"/>
        	
        	<!--  Same thing as the noShortPhpCodeTag rule -->
        	<!-- <item value="T_OPEN_TAG_WITH_ECHO"/> -->
        	
        	<!-- <item value="T_INLINE_HTML"/> -->
        	<!-- <item value="T_ECHO"/>  -->
        	
        	
        </test>
        
         <!-- Check for silenced errors before function calls (@function) -->
        <test name="checkSilencedError">
        	<exception value="rename"/> <!-- Exceptions to this rule -->
        	<exception value="mkdir"/>
        	<exception value="chmod"/>
        </test>
        
        <!-- Check for encapsed variables inside a String ("$a") -->
        <test name="encapsedVariablesInsideString">
        </test>
        
         <!-- Avoid passing parameters by reference -->
        <test name="avoidPassingReferences">
        </test>
            
        <test name="showTODOs">
        </test>
        
        <!-- Use boolean operators (&&) instead of logical operators (AND) -->
        <test name="useBooleanOperators">
        </test>
        
        <!-- Check empty block like if ($a) {} -->
        <test name="checkEmptyBlock">
         	<!--  <exception value="catch"/>  -->
        </test>
        
        <!-- Check empty statement ( ;; ) -->
        <test name="checkEmptyStatement">
        </test>
        
        <!-- Check for the presence of heredoc -->
        <test name="checkHeredoc">
        </test>
        
        <!-- Check for braces around code blocs (if, else, elseif, do, while, for, foreach) -->
        <test name="needBraces">
        </test>
        
        <!-- Switch need a default value -->
        <test name="switchNeedDefault">
        </test>
        
         <!-- Switch case should have a break -->
        <!--  <test name="switchCaseNeedBreak">
        </test>  -->
        
        <!-- Switch default value should be at the end -->
        <test name="switchDefaultOrder">
        </test>
        
                  
        <!-- 
        Avoid using unary operators (++) inside a control statement 
        With the exception of for iterators, all variable incrementation or decrementation should occur in their own toplevel statement to increase readability.  
        -->
        <test name="checkUnaryOperator">
       		<exception value="for"/>
        </test>
        
        <!--
        With inner assignments it is difficult to see all places where a variable is set.
        With the exception of for iterators, all assignments should occur in their own toplevel statement to increase readability.  
        -->
        <test name="checkInnerAssignment">
        	<exception value="for"/>
        </test>
        
        <!-- Detect unused private functions (detecting unused public ones is more difficult) -->
        <test name="checkUnusedPrivateFunctions">
        </test>
        
        <!-- Detect unused variables -->
        <test name="checkUnusedVariables">
        </test>
        
        <!-- Detect unused function parameters -->
        <test name="checkUnusedFunctionParameters">
        </test>
        
        <!-- Only one class declaration per PHP file -->
        <test name="oneClassPerFile">
        </test>
        
        <!--  *******************  -->
        <!--      Optimisation     -->
        <!--  *******************  --> 
        
        <!-- Only one class declaration per PHP file -->
        <test name="functionInsideLoop">
        </test>
        
    </phpcheckstyle-configuration>