Download the PHP package othyn/php-enum-enhancements without Composer
On this page you can find all versions of the php package othyn/php-enum-enhancements. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download othyn/php-enum-enhancements
More information about othyn/php-enum-enhancements
Files in othyn/php-enum-enhancements
Package php-enum-enhancements
Short Description Adds some helpful enum traits to the glorious new PHP Enum type.
License MIT
Informations about the package php-enum-enhancements
PHP Enum Enhancements
A Composer package for PHP that adds some helpful enum traits to the glorious new PHP Enum type.
The package so far provides;
- A handy trait that extends PHP's native Enum type
- Adds a new static
UnitEnum::valueArray(): array
method that returns all values within an Enum as an equally typed array of Enum values - Adds a new static
UnitEnum::valueList(string $separator = ', '): string
method that returns all values within an Enum as a comma separated list string
The package is available on Packagist as othyn/php-enum-enhancements.
Installation
Hop into your project that you wish to install it in and run the following Composer command to grab the latest version:
Usage
For more comprehensive usage examples, you can view the test suite. However I'll show some basic usage examples below.
Enum: Value Array
Enum: Value List
Backed String Enum: Value Array
Backed String Enum: Value List
Backed Int Enum: Value Array
Backed Int Enum: Value List
Development
Most development processes are wrapped up in an easy to use Docker container.
Enforcing Style
The projects .php-cs-fixer.dist.php
config contains the rules that this repo conforms to and will run against the ./src
and ./tests
directory.
For remote style enforcement there is a GitHub Action configured to automatically run phpcsfixer
.
For local style enforcement there is a composer script composer style
configured to run phpcsfixer
.
Testing
For remote testing there is a GitHub Action setup to automatically run the test suite on the main
branch or and PR branches.
For local testing there is a Docker container that is pre-built that contains an Alpine CLI release of PHP + PHPUnit + xdebug. This is setup to test the project and can be setup via the following:
This should trigger Docker Compose to build the image. You can then up the container via the following:
There are tests for all code written, in which can be run via:
In those tests, there are Feature tests for a production ready implementation of the package. There are no Unit tests at present.
You can also easily open a shell in the testing container by using the command:
Changelog
Any and all project changes for releases should be documented below. Versioning follows the SemVer standard.
Version 1.0.1
[Git Changes] README changes.
Added
- Everything
Changed
- SemVer verbiage and link change in the README.
- Change usage examples in the readme to instead utilise
var_dump
to demonstrate the resulting types within the array returned fromUnitEnum::valueArray()
. - Utilised the
UnitEnum
base type within the docs in code examples where a test Enum is not present.
Fixed
- Everything
Removed
- Nothing
Version 1.0.0
[Git Changes] Initial release.
Added
- Everything
Changed
- Everything
Fixed
- Everything
Removed
- Nothing