everzet / persisted-objects
过于简单的持久化实现,用于功能测试
v1.0.4
2018-02-12 12:14 UTC
Requires
- php: >5.3,<7.3
Requires (Dev)
- phpunit/phpunit: ~4.4.0
README
该仓库收集了一些(有意为之)可能在训练或测试练习中找到的有用仓库。它们为测试基础设施中创建存储库的假数据提供了一种简单的方式。
为什么?
如标题所述 - 用于测试和演示目的。这些仓库针对以下情况进行了优化:您的存储库中少于20条记录,并且始终只有一个用户访问它。在这些特定情况下,这些存储库速度更快。但除此之外,它们的性能会呈指数下降。
使用方法
使用以下命令安装
$> composer require --dev everzet/persisted-objects
使用方法如下
$repo = new FileRepository(TEMP_FILE, new AccessorObjectIdentifier('getId')); $repo->save($user); $user === $repo->findById($user->getId()); $repo->clear();
或如下使用
$repo = new InMemoryRepository(new CallbackObjectIdentifier( function($obj) { return $obj->getFirstname() . $obj->getLastname(); } ); $repo->save($user); $user === $repo->findById($user->getFirstname() . $user->getLastname()); $repo->clear();