PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Andrey Iatsenko   Typer PHP Type Casting Class   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: Typer PHP Type Casting Class
Assure that array entry values have a given types
Author: By
Last change:
Date: 2 months ago
Size: 2,419 bytes
 

Contents

Class file image Download

Typer

Packagist Version GitHub Workflow Status (with branch) Coverage Packagist Downloads Packagist Downloads

Mutation testing badge type-coverage psalm-level

This is a simple helper package that helps make the code cleaner. Often, when working with data from third-party sources, such as website parsing, you need to write hundreds of lines of code to check for a particular property.

Most likely, you write a lot of if or ternary operators, and your code looks something like this:

$user = new User();
$user->id = isset($dynamicArray['id']) ? (int)$dynamicArray['id'] : null;
$user->email = isset($dynamicArray['email']) ? (string)$dynamicArray['email'] : null;
$user->balance = isset($dynamicArray['balance']) ? (float)$dynamicArray['balance'] : null;
$user->blocked = isset($dynamicArray['blocked']) ? ($dynamicArray['blocked'] === 'true' ? true : false) : null;

When using Typer, you don't need to worry about a lot of checks and transformations. Simply wrap the code in the typer method:

$user = new User();
$user->id = Typer::int($dynamicArray, 'id');
$user->email = Typer::string($dynamicArray, 'email');
$user->balance = Typer::float($dynamicArray, 'balance');
$user->blocked = Typer::bool($dynamicArray, 'blocked');

If, in the absence of a parameter, you need to specify a default value other than "null", you can simply pass it as the second argument:

$user->balance = Typer::float($dynamicArray, 'balance', 10.0);

Installation

The package can be installed via composer:

composer require yzen.dev/typer