moss / storage
此软件包已被放弃,不再维护。未建议替代软件包。
moss storage
v0.9.4
2014-05-01 16:54 UTC
Requires
- php: >=5.3.4
Requires (Dev)
- phpunit/phpunit: 3.7.*
Suggests
- psr/log: For logging queries via LoggingDecorator
This package is not auto-updated.
Last update: 2022-02-01 12:34:36 UTC
README
存储 是为 MOSS 框架 开发的一个简单的 ORM,作为一个完全独立的库。其哲学与 数据映射 模式类似,允许将数据从对象实例移动到数据库,同时保持它们相互独立。
活动记录 打破了单一职责原则(通过扩展一些基类),整个设计变得臃肿... 并添加了不必要的耦合。 存储 对此采取了不同的方法。实体与数据库没有直接连接,业务逻辑不受存储库的影响。实体与数据库之间的唯一联系在于 存储 本身 - 在模型中描述了实体如何与存储库相关联。
两个示例(假设存在相应的模型)
$article = $storage->readOne('article') ->where('id', 123) ->with('comment', array(array('visible' => true))) ->execute();
这将读取具有 id=123 的文章实体及其所有可见评论。
$obj = new Article('title', 'text'); $obj->comments = array( new Comment('It\'s so simple!', 'comment_author@mail'), new Comment('Yup, it is.', 'different_author@mail'), ); $storage->write($obj)->with('comment')->execute();
这将使用设置的评论将文章实体写入数据库。
有关许可证详细信息,请参阅 LICENCE.md 文档,文档位于 ./docs/ 目录中。
需求
仅需 PHP >= 5.4、Doctrine DBAL 和 SQL 数据库。
安装
"require": { "moss/storage": ">=0.9" }
贡献
如果您想提交修复或一些其他增强功能,请随意操作。每当您发现错误时,如果您能提交它将是很好的。如果您提交修复,这将是非常令人惊叹的!
如何贡献
- 分支 存储 仓库;
- 为每个功能/改进/问题创建一个新的分支;
- 从分支发送拉取请求
风格指南
所有拉取请求都必须遵循 PSR-2 标准。所有拉取请求都必须附带通过 PHPUnit 测试。