1.5 KiB
Upgrade Guide
6.x
Native types
The library now uses native types whenever possible. When you override methods or implement interfaces, you will need to add them.
Enum::getDescription()
throws
Instead of returning an empty string ''
on invalid values,
Enum::getDescription()
will throw an InvalidEnumMemberException
.
Construct InvalidEnumMemberException
The constructor of InvalidEnumMemberException
now expects the class name
of an enum instead of an enum instance.
5.x
Laravel 9 required
Laravel 9
or higher is required.
PHP 8.0 required
PHP 8.0
or higher is now required.
4.x
Review use of Localization features
You should make sure that any enums using localization features are still translated as expected.
3.x
Laravel 8 required
Laravel 8
or higher is required.
PHP 7.3 required
PHP 7.3
or higher is now required.
2.x
Laravel 7.5 required
Laravel 7.5
or higher is required for the new native attribute casting.
PHP 7.2 required
PHP 7.2.5
or higher is now required.
Switch to native casting
You should update your models to use Laravel 7 native casting. Remove the trait and
move the casts from $enumCasts
to $casts
.
Trait based casting is still present, but is now deprecated and will be removed in the next major version.
--use BenSampo\Enum\Traits\CastsEnums;
class MyModel extends Model
{
- use CastsEnums;
- protected $enumCasts = [
+ protected $casts = [
'foo' => Foo::class,
];