openfluentos/datacore-utils

A collection of mutators, casters and validators for your data

This package's canonical repository appears to be gone and the package has been frozen as a result.

1.4 2019-04-03 18:59 UTC

README

What is it?

A bunch of "validators", "mutators" and "casters" for generic data manipulation.

How it works?

Using a caster

    // Using singleton
    $int_val = \Openfluentos\DatacoreUtils\Types\Caster::cast('int', 2.22)
    
    // Standard instantiation
    $int_val = (new \Openfluentos\DatacoreUtils\Types\Casters\IntCaster)(2.22);
    

Using a Mutator

    // Using singleton
    $evaluate = \Openfluentos\DatacoreUtils\Types\Mutator::mutate('evaluate', '(2 + 2) ^ 2');
    
    // Standard instantiation
    $evaluate = (new \Openfluentos\DatacoreUtils\Types\Mutators\Evaluate)('(2 + 2) ^ 2');

Using a Validator

    // Using singleton
    $is_valid = \Openfluentos\DatacoreUtils\Types\Validator::validate('iban', 'AD1200012030200359100100');
    
    // Standard instantiation
    $is_valid = (new \Openfluentos\DatacoreUtils\Types\Validators\IBANValidator)('AD1200012030200359100100');
    
    

Casters

It cast data types in a safe way.

CasterClassnameDescription
boolBoolCasterCast to bool type
floatFloatCasterCast to float type
intIntCasterCast to int type
stringStringCasterCast to string type

Mutators

It convert/transform data values.

MutatorClassnameParamsDescription
capitalizeCapitalizeMutatorCapitalize a string
ceilCeilMutatorRound fractions up
datetimeDatetimeMutatortz,target_format,format (Opt)Transform datetime formats
evaluateEvaluateMutatorEvaluate a math expression
floorFloorMutatorRound fractions down
lowercaseLowercaseMutatorConvert to lowercases
regex_replaceRegexreplaceMutatorpattern, replacementRegex replacement
roundRoundMutatorprecision,modeRound numbers
timestampTimestampMutatortz,precision (Opt),format (Opt)Transform datetime to timestamp
trimTrimMutatorreplacement (Opt)Trim spaces or characters
uppercaseUppercaseMutatorConvert to uppercases

Some mutators like the "RegexreplaceMutator" requires extra parameters. Example:

    $replaced = \Openfluentos\DatacoreUtils\Types\Mutator::mutate('regex_replace', 'Hello World', '/(world)/i', 'Earth');
    

Validators

ValidatorClassnameParamsDescription
bbanBanValidatorBank Account Number
betweenBetweenValidatormin, maxNumber between a range
creditcardCreditcardValidatorCreditcard
datetimeDatetimeValidatorformat (Opt)Datetime expression is valid and logic
emailEmailValidatorE-mail address
equal_toEqualToValidatorexpectedEqual condition
greater_thanGreaterThanValidatorboundGreater condition
gtinGtinValidatorcodetype (8,12,13,14)GTIN code
ibanIbanValidatorIBAN
isbnIsbnValidatorISBN
isinIsinValidatorISIN (International Securities Identification Number)
ismnIsmnValidatorISMN (International Standard Music Number)
iswcIswcValidatorISWC (International Standard Musical Work Code
lower_thanLowerThanValidatorboundLower condition
max_lengthMaxLengthValidatormax_lengthMaximum string length
min_lengthMinLengthValidatormin_lengthMinimum string length
not_emptyNotEmptyValidatorNot empty value (0, null, empty string)
phonePhoneValidatorPhone number
regexRegexValidatorexpressionRegex expression
sedoSedoValidatorBank Account Number
ssccSsccValidatorShipping Container Code
swiftSwiftValidatorSwift
zipZipValidatorcountry_codeZipCode/Postal Code