michaldudek / knit-bundle
Knit 与 Symfony3 的集成。
Requires
- php: >=5.5
- michaldudek/knit: 0.2.*
- symfony/symfony: >=3.0,<4.0
Requires (Dev)
- phpmd/phpmd: ~2.3
- phpunit/phpunit: ~4.8
- squizlabs/php_codesniffer: ~2.3
This package is auto-updated.
Last update: 2024-09-06 03:03:48 UTC
README
Knit 以简单的方式将您的 PHP 对象与您选择的数据库绑定。有关 Knit 的更多信息,请参阅其 仓库。
这是一个将 Knit 与框架集成的 Symfony3 Bundle。
安装
要求安装该 Bundle
$ composer require michaldudek/knit-bundle
在您的 Kernel 中启用该 Bundle
<?php
// ...
public function registerBundles()
{
$bundles = [
// ...
new Knit\Bundle\KnitBundle(),
];
// ...
}
配置
将 knit
部分添加到您的 config.yml
文件中。
有三个可用的设置,它们都是您想要注入到主 Knit\Knit
类中的服务名称(它们将为所有存储库设置默认值)。
knit:
# required, default store
store: [store.service_name]
# optional, default data mapper, "knit.data_mapper.array_serializer" by default
data_mapper: [data_mapper.service_name]
# optional, event dispatcher used, "event_dispatcher" by default
event_dispatcher: [event_dispatcher.service_name]
配置商店
如您所见,对于 Knit,商店不过是一个需要注入的依赖项。这使您能够以任何您想要的方式配置商店。
为了方便起见,KnitBundle 已注册了两个依赖项,以实现到目前为止实现的两个商店: knit.store.doctrine_dbal.criteria_parser
和 knit.store.mongodb.criteria_parser
。它还注册了两个参数,以简化商店类的解析:%knit.store.doctrine_dbal.class%
和 %knit.store.mongodb.class%
。
使用这两个方面,您可以轻松配置数据存储并在容器中注册它们
services:
mysql_store:
class: %knit.store.doctrine_dbal.class%
arguments:
- driver: pdo_mysql
user: %db.username%
password: %db.password%
host: %db.host%
dbname: %db.database%
- @knit.store.doctrine_dbal.criteria_parser
- @logger
# or
mongodb_store:
class: %knit.store.mongodb.class%
arguments:
- hostname: %mongo.host%
database: %mongo.database%
username: %mongo.username%
password: %mongo.password
- @knit.store.mongodb.criteria_parser
- @logger
其中显然需要注册所有连接参数。
然后在 config.yml
中,您可以简单地指定
knit:
store: mysql_store # or mongodb_store
存储库
按照惯例,所有存储库都应该注册为服务。您最终会将它们注入到其他服务或控制器中,因此为了清晰起见,KnitBundle 不会自动创建它们。
一个存储库的定义示例如下
user.repository:
parent: knit.repository
arguments: [MyApp\User, "users"]
其中第一个参数是管理对象类名,第二个是集合名。也允许有额外的参数 - 有关它们是什么的详细信息,请参阅 Knit 文档。
许可证
MIT,请参阅 LICENSE.md。
版权所有 (c) 2015 Michał Pałys-Dudek