Minimal PHP QA Docker image focused on local/CI static analysis, styling and other tools.
It's plays nicely with kool.dev managed environments, but can fit in any other PHP use-case.
- Phan - static analyzer for PHP (
phan) - PHP Mess Detector (
phpmd) - PHP Copy/Paste Detector (
phpcpd)
- PHP Coding Standards Fixer (
php-cs-fixer)
- Local PHP Security Checker (
local-php-security-checker)
- PHPUnit 9.5 (
phpunit) - PHPUnit 10 (
phpunit10for cutting-edge testing)
Just execute any QA tool available straight from a new container. Using kool is the prefered way:
cd my-laravel-project/
kool docker kooldev/phpqa:7.4 phan
kool docker kooldev/phpqa:7.4 php-cs-fixerWith vanilla Docker you would need to run:
docker run --rm --init -it -v $(pwd):/app -w /app kooldev/phpqa:7.4We strongly recommend checking out
koolCLI for more benefits to your Docker environemnts.
The image built is kooldev/phpqa with tags:
Examples of what you can do in a kool powered environment. Add to your kool.yml file:
# kool.yml
scripts:
# just an alias to the PHPQA container
phpqa: kool docker kooldev/phpqa:8.1
# using the alias to call each tool with predefined parameters
# assuming your application code is located in a `app/` folder
phan: kool run phpqa phan --color -p -l app -iy 5
phpcpd: kool run phpqa phpcpd --fuzzy app
# ...Please feel free to use and open a PR with more QA tools you find useful to have! As a sort of roadmap these are the goals in our mind for the short term:
- Make tools specific configurations available for the user in a friendly manner.
- Ship boilerplate of CI snippets for popular engines (Github Actions, CircleCI, TravisCI).
- Add more tools that we find helpful.
You should change fwd-template.json for configuration and template/ folder for the actual base templates.
After any changes, we need to run kool run template to parse the templates and generate all versions folder/files.
The MIT License (MIT). Please see License File for more information.