bbprojectnet/laravel-casts

Additional casts classes for Laravel.

1.2.0 2024-03-31 16:39 UTC

This package is auto-updated.

Last update: 2024-05-01 00:17:22 UTC


README

This package provides some additional castable classes for Laravel.

Requirements

  • PHP 8.1 and above
  • Laravel 9, 10 or 11

Installation

Require this package with composer using the following command:

composer require bbprojectnet/laravel-casts

Casts

AsEnumArray

Casts a value (json) to a array of Enums.

protected $casts = [
	'roles' => AsEnumArray::class . ':' . Role::class,
];

AsEnumCollection

Casts a value (json) to a Laravel Collection of Enums.

protected $casts = [
	'roles' => AsEnumCollection::class . ':' . Role::class,
];

AsHash

Saves the value as a hash using the Laravel Hash facade. As of Laravel 10, same as hashed cast.

protected $casts = [
	'password' => AsHash::class,
];

AsInterval

Casts a seconds value (integer) as a CarbonInterval class.

protected $casts = [
	'timeout' => AsInterval::class,
];

AsStrictArray

Same as array, except that a null value is cast to an empty array. Similarly, an empty array is stored in the database as null.

protected $casts = [
	'items' => AsStrictArray::class,
];

AsTimeZone

Cast a value (string) as a DateTimeZone class.

protected $casts = [
	'timezone' => AsTimeZone::class,
];

License

The Laravel casts package is open-sourced software licensed under the MIT license.