Skip to content

Quick Reference

This page provides a quick overview of the main features available in the enums package.

  • InvokableCases: Use MyEnum::FOO() instead of MyEnum::FOO->value
  • Names & Values: Get all case names or values as arrays
  • Options: Generate form-ready arrays and HTML options
  • Metadata: Attach custom properties to cases with attributes
  • Comparable: Use ->is(), ->in() for readable comparisons
  • From: Create instances from names with fromName()
use Cline\Enums\Concerns\{InvokableCases, Names, Values, Comparable};
enum Status: int
{
use InvokableCases, Names, Values, Comparable;
case Draft = 0;
case Published = 1;
case Archived = 2;
}
// Get value without ->value
Status::Published(); // 1
// Collections
Status::names(); // ['Draft', 'Published', 'Archived']
Status::values(); // [0, 1, 2]
// Comparisons
$status->is(Status::Published); // true
$status->in([Status::Draft, Status::Published]); // true