bbprojectnet/laravel-casts

Additional casts classes for Laravel.

Installs: 2 169

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/bbprojectnet/laravel-casts

1.3.0 2025-09-23 12:04 UTC

This package is auto-updated.

Last update: 2025-09-23 12:06:20 UTC


README

This package provides some additional castable classes for Laravel.

Requirements

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

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.