drew/debug-statements-fixers

Removes debug statements, which shouldn't be in production ever

0.5 2018-04-19 09:13 UTC

README

Fixers set for PHP-CS-Fixer. Removes debug statements, which shouldn't be in production ever.

PHP 7.0 Build Status Latest Stable Version Total Downloads License

If you have ever had 500 Error on production because dump() function is missing, or you forget to remove debug statements time to time - this small package is for you.

Debug statements are good for debugging, but it should never get to master branch.

Initially proposed as RFC in PHP-CS-Fixer repository, it was considered too risky to have it in core (see discussion at PHP-CS-Fixer/PHP-CS-Fixer#2218)

N.B. These fixers are risky and potentially can break your application. You should understand consequences of having it in your project (especially a legacy one). You are warned.

Functions being removed:

  • dump()
  • var_dump()
  • dd()

Usage

  1. Install it:

    $ composer require drew/debug-statements-fixers:^0.4 --dev
  2. Adjust your PHP-CS-Fixer config:

    # .php_cs.dist
    <?php
    
    $finder = PhpCsFixer\Finder::create()
        ->in([__DIR__.'/src', __DIR__.'/tests']);
    
    return PhpCsFixer\Config::create()
        ->setRules([
            //any fixers you would like to have
            'RemoveDebugStatements/dump' => true,
        ])
        ->registerCustomFixers([new Drew\DebugStatementsFixers\Dump()])
        ->setRiskyAllowed(true)
        ->setFinder($finder);    
  3. Enjoy.

Protip!

Works best when integrated with your CI server, just add this step to your CI config:

$ php vendor/bin/php-cs-fixer fix --diff --dry-run -v