thruster/data-modifier
Composer 安装命令:
composer require thruster/data-modifier
包简介
Thruster DataModifier Component
README 文档
README
[]
(https://github.com/ThrusterIO/data-modifier/releases)
[
]
(LICENSE)
[
]
(https://travis-ci.org/ThrusterIO/data-modifier)
[
]
(https://scrutinizer-ci.com/g/ThrusterIO/data-modifier)
[
]
(https://scrutinizer-ci.com/g/ThrusterIO/data-modifier)
[
]
(https://packagist.org/packages/thruster/data-modifier)
The Thruster DataModifier Component.
Install
Via Composer
$ composer require thruster/data-modifier
Usage
The sample code to understand working principle:
<?PHP use Thruster\Component\DataModifier\DataModifierInterface; use Thruster\Component\DataModifier\DataModifierGroup; $user = new class { protected $username = 'foo_bar'; protected $password = 'youwillnotguessit'; protected $activationCode; public function getPassword() { return $this->password; } public function setPassword($password) { $this->password = $password; } public function setActivationCode($activationCode) { $this->activationCode = $activationCode; } }; $passwordHasher = new class implements DataModifierInterface { public function modify($input) { $input->setPassword(password_hash($input->getPassword(), PASSWORD_BCRYPT)); return $input; } }; $activationCodegenerator = new class implements DataModifierInterface { public function modify($input) { $input->setActivationCode(substr(md5(strrev(microtime(true))), 0, 12)); return $input; } }; $modifierGroup = new DataModifierGroup(); $modifierGroup->addModifier($passwordHasher, 1); $modifierGroup->addModifier($activationCodegenerator); var_dump($modifierGroup->modify($user));
class class@anonymous#2 (3) { protected $username => string(7) "foo_bar" protected $password => string(60) "$2y$10$B1F39njifACQcr68osihIeMM0Ps/yAlOrGiEdb.KGgVqBWMARiDqm" protected $activationCode => string(12) "25018c42dd5d" }
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details.
License
Please see License File for more information.
统计信息
- 总下载量: 49
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-12-05