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

Runs a set of quality assurance tools for PHP.

0.7.1 2015-10-31 03:57 UTC


Build Status Code Climate Scrutinizer Code Quality Test Coverage Packagist Version Total Downloads

This is a work in progress!

PHP Hound runs a set of quality assurance tools for PHP and reduce results to a single beautiful report.

It currently supports:

HTML index page example


PHP Hound can be installed through Composer.

Local installation

To install it locally, run the following command:

composer require alanwillms/php-hound

Then you can execute PHP Hound by running ./vendor/bin/php-hound.

Global installation

You can install PHP Hound globally with:

composer global require alanwillms/php-hound

Then you can add ~/.composer/bin directory to your PATH, so you can simply type php-hound to run it from anywhere. If you want to do this, add the following to your ~/.profile (or ~/.bashrc) file:

export PATH="$HOME/.composer/vendor/bin:$PATH"

If you want to apply the changes to your current terminal session, run source ~/.profile (or source ~/bashrc).

Command line usage

Basic usage:

# Analyze current directory files

# Analyze "informed/directory/" files
php-hound informed/directory/

# Analyze "script.php" file
php-hound script.php

You can run php-hound --help to display a list of all available options.

php-hound [optional arguments] [path to be analysed]

Optional Arguments:
	-f format, --format format (default: text)
		Output format
	-h, --help
		Prints a usage statement
	-i ignore, --ignore ignore (default: vendor,tests,features,spec)
		Ignore a comma-separated list of directories
	-v, --version
		Prints installed version

Gradually fix legacy code

If you have a huge base of legacy code, it's really hard to fix all code issues at the same time, in a single commit.

PHP Hound helps you to gradually fix your code by only warning about issues found in the files and lines touched by a branch or commit. All other files or lines will be ignored.

That's pretty easy to achieve:

# Usage:
# php-hound --git-diff <commits or branches to compare> <target directory>

# Only return issues found on lines and files changed on the "windows10" branch:
php-hound --git-diff master..windows10 /path/to/git/repo

# Only return issues found on lines and files changed between two commits
php-hound --git-diff b28a1df..4fff883 /path/to/git/repo