See the top level readme for general information about this exercise. This is the PHP version of the Parrot Refactoring Kata. The Kata is fully functional, with a full test suite. The objective of this Kata is to improve the code using Pol(l)ymorphism. The tests do not normally need to be changed.
The kata uses:
Recommended:
See GitHub cloning a repository for details on how to create a local copy of this project on your computer.
git clone https://github.com/emilybache/Parrot-Refactoring-Kata.git
Install all the dependencies using composer
cd Parrot-Refactoring-Kata/PHP
composer install
Run all the tests
composer tests
The kata uses composer to install:
src
- contains the Parrot class which need to be refactored and a ParrotTypeEnum.tests
- contains the corresponding tests. All the tests are passing, and shouldn't need to be changed.
PHPUnit is pre-configured to run tests. PHPUnit can be run using a composer script. To run the unit tests, from the root of the PHP kata run:
composer tests
On Windows a batch file has been created, similar to an alias on Linux/Mac (e.g. alias pu="composer test"
), the same
PHPUnit composer test
can be run:
pu.bat
To run all test and generate a html coverage report run:
composer test-coverage
The test-coverage report will be created in /builds, it is best viewed by opening /builds/index.html in your browser.
Easy Coding Standard (ECS) is used to check for style and code standards, PSR-12 is used.
To check code, but not fix errors:
composer check-cs
On Windows a batch file has been created, similar to an alias on Linux/Mac (e.g. alias cc="composer check-cs"
), the
same composer check-cs
can be run:
cc.bat
There are many code fixes automatically provided by ECS, if advised to run --fix, the following script can be run:
composer fix-cs
On Windows a batch file has been created, similar to an alias on Linux/Mac (e.g. alias fc="composer fix-cs"
), the same
composer fix-cs
can be run:
fc.bat
PHPStan is used to run static analysis checks:
composer phpstan
On Windows a batch file has been created, similar to an alias on Linux/Mac (e.g. alias ps="composer phpstan"
), the
same composer phpstan
can be run:
ps.bat
Happy coding!