承接 lapalabs/value-resolver 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lapalabs/value-resolver

最新稳定版本:v0.0.1

Composer 安装命令:

composer require lapalabs/value-resolver

包简介

A tiny library to typecasting and default value resolving.

README 文档

README

A tiny library for convenient typecasting and default value resolving.

SensioLabsInsight

Installation

Install package to your project with Composer:

$ composer require lapalabs/value-resolver dev-master

Usage

NOTE: The scalar types (boolean, integer, float and string) are typecasting first and then resolving with default value if necessary, but compound types (array and object) are resolving first and then typecasting.

Value Resolving

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

Value Typecasting

// 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

统计信息

  • 总下载量: 58
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-07-06