javiervivanco/php-lint-bash

There is no license information available for the latest version (dev-master) of this package.

A short bash script to recursively lint PHP files with a nice output. Based on njoannidi/phpLintBash

Installs: 12

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 3

Language:Shell

dev-master 2016-08-19 18:16 UTC

This package is not auto-updated.

Last update: 2024-05-06 11:08:07 UTC


README

A quick bash script to recursively lint PHP files in a given directory. Nice to use as part of a testing stragegy for CI, or after doing an epic merge.

Returns:

  • Number of Files linted
  • Number of Files passed
  • Number of Files failed
  • Offending errors
  • Output on STDERR if any files fail linting
  • Pass / Fail "Sanity check"
  • Proper Exit codes

Usage

$ phpLint

  • Will recursively lint all PHP files in default directory specified in script

$ phpLint [directory]

Lint all files recursively of specified directory

$ phpLint -e [exclude directory] -e [exclude directory] [directory]

Lint all files recursively of specified directory without exclude directory

Overview:

  • Will return a pass / fail
  • Will only pass if all files pass
  • Any errors will be output in addition to the file they were found in

Scope:

  • This is a syntax checker. It will not run methods and check for correct returns
  • It is not a static analysis tool. Code quality / specs are not enforced or searched for

Caveats and Best Practice:

  • The nature of PHP's lint operation is to abort linting of a file once an error has been found, so...
  • If a file has multiple errors you will only be notified of the first error
  • Run until you're error-free
  • Although linting of the current file may have stopped due to a syntax error, linting of any remaining files in the queue will continue.

Scripting / Deployment Usage:

  • This will return proper exit codes so it can be used for scripting deployments, etc.
  • Pass
  • Exit 0 (clean)
  • Output on stdin
  • Fail
  • Exit 1
  • Output on stderr

Requires:

  • PHP
  • Bash

Based on njoannidi/phpLintBash