Skip to content

jakzal/phpqa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Static Analysis Tools for PHP

Docker image providing static analysis tools for PHP.

Build Status

Available tools

Running tools

Pull the image:

docker pull jakzal/phpqa

The default command will list available tools:

docker run -it --rm jakzal/phpqa

To run the selected tool inside the container, you'll need to mount the project directory on the container:

docker run -it --rm -v $(pwd):/project -w /project jakzal/phpqa phpstan analyse src

You'll probably want to tweak this command for your needs and create an alias for convenience:

alias phpqa="docker run -it --rm -v $(pwd):/project -w /project jakzal/phpqa:alpine"

Add it to your ~/.bashrc so it's defined every time you start a new terminal session.

Now the command becomes a lot simpler:

phpqa phpstan analyse src

Building the image

git clone https://github.com/jakzal/phpqa.git cd phpqa make build-latest

To build the alpine version:

make build-alpine 

Customising the image

It's often needed to customise the image with project specific extensions. To achieve that simply create a new image based on jakzal/phpqa:

FROM jakzal/phpqa:alpine RUN apk add --no-cache libxml2-dev \ && docker-php-ext-install soap 

Next, build it:

docker build -t foo/phpqa . 

Finally, use your customised image instead of the default one:

docker run -it --rm -v $(pwd):/project -w /project foo/phpqa phpmetrics . 

Debugger & Code Coverage

The php-dbg debugger is provided by default. No additional extensions (like XDebug) are required to calculate code coverage:

phpqa phpdbg -qrr ./vendor/bin/phpunit --coverage-text 

Contributing

Please read the Contributing guide to learn about contributing to this project. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.