Exercism exercises in PHP
Follow these instructions to contribute to the PHP track. To solve the exercises, head to the PHP track and check the documentation.
The following system dependencies are required:
composer, as recommended in the PHP track installation docs.bashshell- PHP V8.2+ CLI
Run the following commands to get started with this project:
bin/fetch-configlet # The official tool for managing Exercism language track repositories
composer install # Required dependencies to develop this trackbin/configlet is a tool to manage exercism resources in this track.
See Building Exercism docs.
The tests are run with PHPUnit. A shell loop injecting exemplar.php is provided to ease testing.
Execute the following command to run the tests:
composer test:runThis project use a slightly modified version of PSR-12. Use the following commands to apply code style:
composer lint:check # Checks the files against the code style rules
composer lint:fix # Automatically fix codestyle issues- Read the documentation at Exercism.
- Follow the PSR-12 coding style (Exercisms PHP track uses a slightly modified version of PSR-12).
- CI is run on all pull requests, it must pass the required checks for merge.
- CI is running all tests on PHP 8.0 to PHP 8.2
Use bin/configlet create --practice-exercise <slug> to create the exercism resources required.
This provides you with the directories and files in exercises/practice/<slug>.
Look into tests.toml for which test cases not to implement / generate and mark them with include = false.
Test generator MVP used like this:
composer -d contribution/generator install
contribution/generator/bin/console app:create-tests '<slug>'
composer lint:fix