Download the PHP package getupkid/laravel-eloquent-casts without Composer
On this page you can find all versions of the php package getupkid/laravel-eloquent-casts. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download getupkid/laravel-eloquent-casts
More information about getupkid/laravel-eloquent-casts
Files in getupkid/laravel-eloquent-casts
Package laravel-eloquent-casts
Short Description Named constants and builders for Laravel Eloquent casts, avoiding magic strings in model cast definitions.
License MIT
Informations about the package laravel-eloquent-casts
Laravel Eloquent Casts
Named constants and builders for Laravel's string-based Eloquent casts. The
package replaces cast magic strings such as 'boolean', 'collection', and
'decimal:2' with discoverable, reusable references such as Cast::BOOLEAN,
Cast::COLLECTION, and Cast::decimal(2).
This keeps model cast definitions easier to discover through IDE completion, reduces typographical errors, and provides one consistent place to reference Laravel's supported primitive cast values.
Installation
Usage
Laravel normally defines primitive casts using strings:
With this package, those magic strings become named constants or builder methods:
The package covers Laravel's string cast values:
ARRAY,BOOL,BOOLEAN,COLLECTIONDATE,DATETIME,IMMUTABLE_DATE,IMMUTABLE_DATETIME,TIMESTAMPDOUBLE,FLOAT,REAL,INT,INTEGER,STRINGJSON,JSON_UNICODE,OBJECTENCRYPTED,ENCRYPTED_ARRAY,ENCRYPTED_COLLECTION,ENCRYPTED_JSON,ENCRYPTED_OBJECTHASHED
Parameterised casts are available through decimal(), date(), datetime(),
immutableDate(), and immutableDatetime().
Class-based and enum casts
This package represents Laravel's built-in string-based cast identifiers. It does not wrap enum casts, Laravel cast classes, or your application's custom cast classes.
Those casts already have a type-safe, discoverable identifier: their PHP class
name. Continue to reference them with ::class alongside this package's
constants:
UserStatus::class, AsStringable::class, and Money::class are not magic
strings: PHP and your IDE can resolve those symbols, follow renames, and report
missing classes. Wrapping them in another constant would add indirection without
improving type safety.
See Laravel's documentation for enum casting and custom casts.
Testing
Licence
MIT