thruster / data-modifier
Thruster DataModifier 组件
1.0.0
2015-12-05 14:46 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ~5.0
This package is auto-updated.
Last update: 2024-09-14 03:05:39 UTC
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.cn/packages/thruster/data-modifier)
Thruster DataModifier 组件。
安装
通过 Composer
$ composer require thruster/data-modifier
用法
示例代码,用于理解工作原理
<?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" }
测试
$ composer test
贡献
许可证
有关更多信息,请参阅许可证文件。