lapalabs / value-resolver
一个用于类型转换和默认值解析的小型库。
v0.0.1
2015-07-09 08:04 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-08-29 04:25:20 UTC
README
一个方便的类型转换和默认值解析的小型库。
安装
使用 Composer
将包安装到您的项目中
$ composer require lapalabs/value-resolver dev-master
用法
注意: 标量类型(
布尔值
、整数
、浮点数
和字符串
)首先进行类型转换,如果需要则解析默认值,而 复合类型(数组
和对象
)则首先解析,然后进行类型转换。
值解析
use LapaLabs\ValueResolver\Resolver\ValueResolver; // Create resolver object in order to use available methods $resolver = new ValueResolver(); $resolver->resolve('some string', 'default'); // returns 'some string' - because first argument is NOT empty // or simply use static methods directly: ValueResolver::resolve('', 'default'); // returns 'default' - because first argument is empty
值类型转换
// to string ValueResolver::toString('6 apples'); // '6 apples' ValueResolver::toString('6 apples', 'pears'); // '6 apples' ValueResolver::toString('There are 6 apples'); // '' ValueResolver::toString('A few apples', 'pears'); // pears // to integer ValueResolver::toInteger('6 apples'); // 6 ValueResolver::toInteger('6 apples', 1); // 6 ValueResolver::toInteger('There are 6 apples'); // 0 ValueResolver::toInteger('A few apples', 1); // 1 // to float ValueResolver::toFloat('6 apples'); // 6.0 ValueResolver::toFloat('6 apples', 1.5); // 6.0 ValueResolver::toFloat('There are 6 apples'); // 0.0 ValueResolver::toFloat('A few apples', 1.5); // 1.5 // to boolean ValueResolver::toBoolean('1'); // true ValueResolver::toBoolean('not empty string', false); // true ValueResolver::toBoolean(null); // false ValueResolver::toBoolean('', true); // true // to array ValueResolver::toArray([1, 2]); // [1, 2] ValueResolver::toArray([1, 2, 3], ['Hello' => 'World']); // [1, 2, 3] ValueResolver::toArray('Hello'); // [0 => 'Hello'] ValueResolver::toArray(5, ['Hello' => 'World']); // [0 => 5] ValueResolver::toArray('', ['Hello' => 'World']); // ['Hello' => 'World'] // to object ValueResolver::toObject('1'); // {scalar: 1} ValueResolver::toObject('not empty string'); // {scalar: 'not empty string'} ValueResolver::toObject(null); // {} ValueResolver::toObject('', $defaultObject); // {...} default object ValueResolver::toObject($someObject, $defaultObject); // {...} some object // or use low-level typecasting method ValueResolver::typecast(ValueResolver::TYPE_INT, '6 apples', 1); // 6 ValueResolver::typecast(ValueResolver::TYPE_STRING, 12345, 'Hello'); // '12345' ValueResolver::typecast(ValueResolver::TYPE_FLOAT, '36.6'); // 36.6 ValueResolver::typecast(ValueResolver::TYPE_BOOL, null, true); // true