PHP Classes

File: .php-cs-fixer.dist.php

Recommend this page to a friend!
  Classes of Eric Sizemore   PHPUnit Coverage Report Check   .php-cs-fixer.dist.php   Download  
File: .php-cs-fixer.dist.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHPUnit Coverage Report Check
Check code coverage using the clover xml report.
Author: By
Last change: updated docs, refresh composer lock
update coding standards, apply fixes
bump PHP requirement, unit test changes, doc changes, etc.
Attempt testing against PHP 8.4, other small changes
start preparing for release
cs fixes, small optimizations
some CS related fixes, new parseXml util function
working on 2.0
Date: 25 days ago
Size: 5,544 bytes
 

Contents

Class file image Download
<?php

declare(strict_types=1);

$header = <<<'EOF'
This file is part of PHPUnit Coverage Check.

    (c) Eric Sizemore <admin@secondversion.com>
    (c) Richard Regeer <rich2309@gmail.com>

    This source file is subject to the MIT license. For the full copyright,
    license information, and credits/acknowledgements, please view the LICENSE
    and README files that were distributed with this source code.
EOF;

$config = new PhpCsFixer\Config();
$config
   
->setRiskyAllowed(true)
    ->
setRules([
       
'@PER-CS' => true,
       
'@PSR12' => true,
       
'@PHP82Migration' => true,
       
'align_multiline_comment' => true,
       
'array_syntax' => ['syntax' => 'short'],
       
'binary_operator_spaces' => [
           
'operators' => [
               
'*=' => 'align_single_space_minimal',
               
'+=' => 'align_single_space_minimal',
               
'-=' => 'align_single_space_minimal',
               
'/=' => 'align_single_space_minimal',
               
'=' => 'align_single_space_minimal',
               
'=>' => 'align_single_space_minimal',
            ],
        ],
       
'declare_equal_normalize' => ['space' => 'none'],
       
'declare_parentheses' => true,
       
'declare_strict_types' => true,
       
'fully_qualified_strict_types' => true,
       
'header_comment' => ['comment_type' => 'PHPDoc', 'header' => $header, 'separate' => 'top'],
       
'heredoc_to_nowdoc' => true,
       
//'global_namespace_import' => ['import_classes' => true, 'import_constants' => true, 'import_functions' => true],
       
'native_function_invocation' => ['include' => ['@compiler_optimized'], 'scope' => 'namespaced', 'strict' => true],
       
'native_constant_invocation' => ['fix_built_in' => false, 'include' => ['DIRECTORY_SEPARATOR', 'PHP_INT_SIZE', 'PHP_SAPI', 'PHP_VERSION_ID'], 'scope' => 'namespaced', 'strict' => true],
       
'no_leading_import_slash' => true,
       
'no_unneeded_import_alias' => true,
       
'no_unused_imports' => true,
       
'ordered_class_elements' => [
           
'order' => [
               
'use_trait',
               
'case',
               
'constant_public',
               
'constant_protected',
               
'constant_private',
               
'property_public',
               
'property_public_static',
               
'property_protected',
               
'property_protected_static',
               
'property_private',
               
'property_private_static',
               
'construct',
               
'destruct',
               
'magic',
               
'phpunit',
               
'method_public',
               
'method_public_static',
               
'method_protected',
               
'method_protected_static',
               
'method_private',
               
'method_private_static',
            ],
           
'sort_algorithm' => 'alpha',
        ],
       
'ordered_imports' => ['imports_order' => ['class', 'function', 'const', ]],
       
'ordered_interfaces' => [
           
'direction' => 'ascend',
           
'order' => 'alpha',
        ],
       
'ordered_traits' => true,
       
'ordered_types' => true,
       
'phpdoc_align' => true,
       
'phpdoc_indent' => true,
       
'phpdoc_inline_tag_normalizer' => true,
       
'phpdoc_no_access' => true,
       
'phpdoc_no_alias_tag' => true,
       
'phpdoc_no_empty_return' => true,
       
'phpdoc_no_package' => true,
       
'phpdoc_no_useless_inheritdoc' => true,
       
'phpdoc_order' => true,
       
'phpdoc_param_order' => true,
       
'phpdoc_return_self_reference' => true,
       
'phpdoc_scalar' => true,
       
'phpdoc_separation' => true,
       
'phpdoc_single_line_var_spacing' => true,
       
'phpdoc_summary' => true,
       
'phpdoc_tag_casing' => true,
       
'phpdoc_tag_type' => true,
       
'phpdoc_to_comment' => false,
       
'phpdoc_trim' => true,
       
'phpdoc_trim_consecutive_blank_line_separation' => true,
       
'phpdoc_types_order' => true,
       
'phpdoc_var_annotation_correct_order' => true,
       
'phpdoc_var_without_name' => true,
       
'php_unit_internal_class' => ['types' => ['normal', 'final']],
       
'php_unit_expectation' => true,
       
'single_import_per_statement' => true,
       
'static_lambda' => true,
       
'strict_param' => true,
       
'use_arrow_functions' => true,
       
'whitespace_after_comma_in_array' => true,
    ])
    ->
setLineEnding("\n")
    ->
setFinder(
       
PhpCsFixer\Finder::create()
            ->
in(__DIR__ . '/src')
            ->
in(__DIR__ . '/tests')
    )
;

return
$config;