定制 getwarp/laminas-hydrator-bridge 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

getwarp/laminas-hydrator-bridge

最新稳定版本:3.1.3

Composer 安装命令:

composer require getwarp/laminas-hydrator-bridge

包简介

Integration for Laminas Hydrator with other Warp components

README 文档

README

getwarp/laminas-hydrator-bridge

Integration for Laminas Hydrator with other Warp components

GitHubPackagistInstallationUsage

Installation

Via Composer

$ composer require getwarp/laminas-hydrator-bridge

Usage

use Warp\LaminasHydratorBridge\StdClassHydrator;
use Warp\LaminasHydratorBridge\NamingStrategy\AliasNamingStrategy;
use Warp\LaminasHydratorBridge\Strategy\BooleanStrategy;
use Warp\LaminasHydratorBridge\Strategy\ScalarStrategy;
use Warp\LaminasHydratorBridge\Strategy\NullableStrategy;
use Warp\Type\BuiltinType;

$hydrator = new StdClassHydrator();

$hydrator->setNamingStrategy(new AliasNamingStrategy([
    'firstName' => ['first_name', 'firstname'],
    'lastName' => ['last_name', 'lastname'],
    'rulesAccepted' => ['rules_accepted'],
]));

$hydrator->addStrategy('age', new NullableStrategy(new ScalarStrategy(BuiltinType::INT)));
$hydrator->addStrategy('rulesAccepted', new BooleanStrategy(['Y', 'y', 1], 'N', false));

$john = $hydrator->hydrate([
    'first_name' => 'John',
    'last_name' => 'Doe',
    'rules_accepted' => 'y',
    'age' => '25',
], new stdClass());

// $john->firstName === 'John';
// $john->lastName === 'Doe';
// $john->rulesAccepted === true;
// $john->age === 25;

$jane = $hydrator->hydrate([
    'firstname' => 'Jane',
    'lastname' => 'Doe',
    'rules_accepted' => '',
    'age' => null,
], new stdClass());

// $jane->firstName === 'John';
// $jane->lastName === 'Doe';
// $jane->rulesAccepted === false;
// $jane->age === null;

Change log

Please see CHANGELOG for more information on what has changed recently.

Contributing

Report issues and send Pull Requests in the main warp repository. Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Credits

License

The MIT License (MIT). Please see license file for more information.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-04-22