See the top level readme for general information about this exercise. This is the PHP version of the GildedRose Kata.
The kata uses:
- PHP 7.2+
- Composer
Recommended:
Clone the repository
git clone git@github.com:emilybache/GildedRose-Refactoring-Kata.git
or
git clone https://github.com/emilybache/GildedRose-Refactoring-Kata.git
Install all the dependencies using composer
cd ./GildedRose-Refactoring-Kata/php
composer install
The project uses composer to install:
src
- contains the two classes:Item.php
- this class should not be changed.GildedRose.php
- this class needs to be refactored, and the new feature added.
tests
- contains the testsGildedRoseTest.php
- Starter test.ApprovalTest.php
- alternative approval test (set to 30 days)
Fixture
texttest_fixture.php
used by the approval test, or can be run from the command line
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 project run:
composer test
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
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 index.html in your browser.
Easy Coding Standard (ECS) is used to check for style and code standards, PSR-12 is used. The current code is not upto standard!
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 PHPUnit composer check-cs
can be run:
cc
There are may 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
PHPUnit composer fix-cs
can be run:
fc
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 PHPUnit composer phpstan
can be run:
ps
Happy coding!