PHP Classes

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

Recommend this page to a friend!
  Classes of Eric Sizemore   ESI PHP Pagination   .php-cs-fixer.dist.php   Download  
File: .php-cs-fixer.dist.php
Role: Example script
Content type: text/plain
Description: Example script
Class: ESI PHP Pagination
Show paginated navigation using callback functions
Author: By
Last change: small maintenance related tasks
Update lock file, enable parallel for php-cs-fixer
update coding standards
cs updates, reduce header docblock size, misc.
Date: 3 hours ago
Size: 5,605 bytes
 

Contents

Class file image Download
<?php

declare(strict_types=1);

$header = <<<'EOF'
This file is part of Esi\Pagination.

    Copyright (C) Eric Sizemore <https://www.secondversion.com/>.
    Copyright (c) Ashley Dawson <ashley@ashleydawson.co.uk>.
   
    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')
    )
;
$config->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect());

return
$config;