Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xactsystems/cast
Safely cast PHP mixed values to scalar types, DateTime or null.
https://github.com/xactsystems/cast
Last synced: 2 months ago
JSON representation
Safely cast PHP mixed values to scalar types, DateTime or null.
- Host: GitHub
- URL: https://github.com/xactsystems/cast
- Owner: XactSystems
- License: mit
- Created: 2024-08-28T13:32:26.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-08-29T12:33:03.000Z (5 months ago)
- Last Synced: 2024-09-30T23:22:21.755Z (3 months ago)
- Language: PHP
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cast
Safely cast mixed values to scalar types or null.Used to provide safe casts of scalar values and DateTime in PHP, avoiding PHPSTAN issues when casting 'mixed' values that do not convert as expected.
For a better understanding of the problem, take a look at the PHPSTAN issue 9295:
https://github.com/phpstan/phpstan/issues/9295## Documentation
-------------
### Installation
```bash
composer require xactsystems/cast
```### Usage
```php
myInt = Cast::intval($value);
$this->myNullInt = Cast::nullInt($nullValue);
$this->myFloat = Cast::nullFloat($value);
$this->myNullFloat = Cast::nullFloat($nullValue);
$this->myString = Cast::strval($value);
$this->myNullString = Cast::nullString($nullValue);
$this->myBool = Cast::boolval($value);
$this->myNullBool = Cast::nullBool($nullValue);
$this->myNullArray = Cast::nullArray($nullValue);
$this->myNullObject = Cast::nullObject($nullValue);
$this->myNullDateTime = Cast::nullDateTime($nullValue);
}
}
````## Methods
### static Cast::intval(mixed $value): int
Cast $value to an int.Throws \InvalidArgumentException if $value is not one of array, bool, float, int, resource, string, null.
#### static floatval(mixed $value): float
Cast $value to a float.Throws \InvalidArgumentException if $value is not one of array, bool, float, int, string, null.
#### static strval(mixed $value): string
Cast $value to a float.Throws \InvalidArgumentException if $value is not one of bool, float, int, resource, string, null.
#### static boolval(mixed $value): bool
Cast $value to a float.Throws \InvalidArgumentException if $value is not one of array, bool, float, int, string, null.
#### static nullInt(mixed $value): ?int
Cast $value to int|null.Throws \InvalidArgumentException if $value is not one of array, bool, float, int, resource, string, null.
#### static nullFloat(mixed $value): ?float
Cast $value to float|null.Throws \InvalidArgumentException if $value is not one of array, bool, float, int, string, null.
#### static nullString(mixed $value): ?string
Cast $value to string|null.Throws \InvalidArgumentException if $value is not one of bool, float, int, resource, string, null.
#### static nullBool(mixed $value): ?bool
Cast $value to bool|null.Throws \InvalidArgumentException if $value is not one of array, bool, float, int, string, null.
#### static nullArray(mixed $value): ?array
Cast $value to array|null.See https://www.php.net/manual/en/language.types.array.php#language.types.array.casting
#### static nullObject(mixed $value): ?object
Cast $value to object|null.See See https://www.php.net/manual/en/language.types.object.php#language.types.object.casting
#### static nullDateTime(mixed $value): ?DateTime
Cast $value to DateTime|null.Throws \InvalidArgumentException if $value is not one of bool, float, int, resource, string, null.
See https://www.php.net/manual/en/datetime.construct.php for valid DateTime string formats.