ngabor84 / enum
Enum is a simple implementation of php enumeration type.
v0.3.2
2017-03-14 07:03 UTC
Requires
- php: ^7.0
Requires (Dev)
- phpmd/phpmd: 2.6.0
- phpunit/phpunit: 6.0
- sebastian/phpcpd: 3.0.0
- squizlabs/php_codesniffer: 3.0.0RC3
This package is auto-updated.
Last update: 2024-10-24 08:36:31 UTC
README
#Enum
About
Enum is a simple implementation of php's missing enumeration type.
Requirements
- PHP 7.0 or above
Installation
Install Enum via the composer package manager from packagist ngabor84/enum.
Usage
// Define a new Enum type class Status extends Enum { const ACTIVE = 'active'; const PASSIVE = 'pasive'; } // Use the new Status Enum type $carStatus = new Status(Status::ACTIVE); $carStatus->getValue(); // return 'active'; $carStatus2 = new Status(); $carStatus2->setValue(Status::PASSIVE); if ($carStatus2->isEqualTo($carStatus)) { // it will be false echo "\$carStatus2 and \$carStatus has the same value"; } else { // this will be printed echo "\$carStatus2 and \$carStatus has different value"; echo "\$carStatus2: $carStatus2"; // print '$carStatus2: passive' } Status::isValidValue('active'); // return true Status::isValidKey('INACTIVE'); // return false Status::getKeyByValue('passive'); // return 'PASSIVE' Status::listOptions(); // return ['ACTIVE' => 'active', 'PASSIVE' => 'passive'] Status::listKeys(); // return ['ACTIVE', 'PASSIVE'] Status::listValues(); // return ['active', 'passive'] Status::getDefaultValue(); // return 'active' (it's the first constants value by default, but this method is also overridable)