- update README.md with latest PHP information - update composer.json to support PHP 7.3 to PHP8 - active support for PHP 7.2 ended 6 Dec 2020 - PHP8 was released 26-Nov-2020 - update the dependencies - PHPUnit now version 9.5 and config file updated - ECS now version 9.3 and config file changed from `ecs.yaml` to `ecs.php` ApprovalTest removed, in line with latest readme, all set for refactoring :) Tested with PHP 7.3, 7.4 and 8.0 one failing "fixme" != "foo" test!
3.2 KiB
GildedRose Kata - PHP Version
See the top level readme for general information about this exercise. This is the PHP version of the GildedRose Kata.
Installation
The kata uses:
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
Dependencies
The project uses composer to install:
Folders
src- contains the two classes:Item.php- this class should not be changedGildedRose.php- this class needs to be refactored, and the new feature added
tests- contains the testsGildedRoseTest.php- starter test.- Tip: ApprovalTests has been included as a dev dependency, see the PHP version of the Theatrical Players Refactoring Kata for an example
Fixturetexttest_fixture.phpthis could be used by an ApprovalTests, or run from the command line
Testing
PHPUnit is configured for testing, a composer script has been provided. To run the unit tests, from the root of the PHP project run:
composer test
A Windows a batch file has been created, like an alias on Linux/Mac (e.g. alias pu="composer test"), the same
PHPUnit composer test can be run:
pu
Tests with Coverage Report
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.
Code Standard
Easy Coding Standard (ECS) is configured for style and code standards, PSR-12 is used. The current code is not upto standard!
Check Code
To check code, but not fix errors:
composer check-cs
On Windows a batch file has been created, like an alias on Linux/Mac (e.g. alias cc="composer check-cs"), the same
PHPUnit composer check-cs can be run:
cc
Fix Code
ECS provides may code fixes, automatically, if advised to run --fix, the following script can be run:
composer fix-cs
On Windows a batch file has been created, like an alias on Linux/Mac (e.g. alias fc="composer fix-cs"), the same
PHPUnit composer fix-cs can be run:
fc
Static Analysis
PHPStan is used to run static analysis checks:
composer phpstan
On Windows a batch file has been created, like an alias on Linux/Mac (e.g. alias ps="composer phpstan"), the same
PHPUnit composer phpstan can be run:
ps
Happy coding!