code-kata / php
PHP Kata skeleton based on kata/php
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.20.3
- mockery/mockery: ^1
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2025-04-16 02:38:01 UTC
README
PHP skeleton for doing coding katas
Code Kata is a term coined by Dave Thomas, co-author of the book The Pragmatic Programmer, in a bow to the Japanese concept of kata in the martial arts. A code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition. As of October 2011, Dave Thomas has published 21 different katas.
You can find some to start practicing here.
This is a project framework based on this.
I've updated to use phpunit 7 and phpspec 4. I also plan on updating this to my own specific style and way of running the katas.
Practicing a kata
Let's imagine you want to practice "Bowling game kata". Details about this kata can be found here.
You will need composer.
curl -sS https://getcomposer.org/installer | php
Then, use "create-project" command to clone this project as a template and create a new one in your computer.
php composer.phar create-project code-kata/php bowling-kata dev-master
Then add your classes to 'src/Kata' and your test cases to 'src/Kata/Tests' and run 'php bin/phpunit' to run your tests.
What I have done, is I have created a Kata/ folder and I setup a new Kata with a Makefile
make test
TestCase examples
If you run 'php bin/phpunit' you will see the following output.
PHPUnit 3.8-gc4f2bcd by Sebastian Bergmann.
Configuration read from /Users/carlosbuenosvinos/Documents/Web/bowling/phpunit.xml
...
Time: 91 ms, Memory: 1.75Mb
OK (3 tests, 3 assertions)
That's because you will find one class and its TestCase in the project in order to help you. You can delete them.
Adder is a class that adds two numbers and AdderTest tests that.