Skip to content

ActiveEngagement/sanitize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sanitize

A collection of classes used to sanitize common things like email, phone, and zip codes.

Installation

composer require actengage/sanitize

Publish the Config

You may optionally publish the config file.

php artisan vendor:publish --tag=sanitize-config

Basic Example

use Actengage\Sanitize\Facades\Sanitize;

Sanitize::email(' JOHN.doe @gmail '); // [email protected]
Sanitize::phone('(888) 555-1234'); // 8885551234
Sanitize::zip('12345'); // 12345

Attribute Casts

You can easily cast Eloquent attribute as sanitized values.

use Actengage\Sanitize\Casts\Email;
use Actengage\Sanitize\Casts\Phone;
use Actengage\Sanitize\Casts\Zip;

class User extends Model {
    protected $guarded = [];

    protected $casts = [
        'email' => Email::class,
        'phone' => Phone::class,
        'zip' => Zip::class,
    ];
}

$user = User::create([
    'email' => '[email protected]',
    'phone' => '1-800-555-1234',
    'zip' => '1234',
])

dd($user->email); // [email protected]
dd($user->phone); // 8005001234
dd($user->zip); // 01234

Default Sanitizers

You may add to the default sanitizers in the config/sanitize.php.

<?php

use Actengage\Sanitize\Sanitizers\Email;
use Actengage\Sanitize\Sanitizers\Phone;
use Actengage\Sanitize\Sanitizers\Zip;

return [

    /*
    |--------------------------------------------------------------------------
    | Sanitizers
    |--------------------------------------------------------------------------
    |
    | This value is an array of invokable classes that implement the Sanitizer
    | interface. These are the default macros associated with the Sanitizer
    | instance.
    |
    | use Actengage\Sanitize\Facades\Sanitize;
    |
    | Sanitize::email('test @test.com'); // [email protected]
    | Sanitize::phone('(888) 555-1234'); // 8885551234
    | Sanitize::zip('12345-1234'); // 123451234
    |
    */

    'sanitizers' => [
        'email' => Email::class,
        'phone' => Phone::class,
        'zip' => Zip::class,
    ]
];

Sanitizer Macros

You may also add additional sanitizer functions using the macro.

Sanitize::macro('test', function($value) {
    return round($value) * 100;
});

Sanitize::test(100.1234); // 10000

About

A collection of common sanitizer functions.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages