diyky/spot-service-provider

Spot2 ORM 的 Pimple 3 ServiceProvider

v2.0.1 2017-07-24 22:58 UTC

This package is auto-updated.

Last update: 2024-09-24 19:24:11 UTC


README

SpotServiceProvider 允许您轻松地将 Spot ORM 与 Pimple 3 集成。

安装

只需在您的应用程序中引入 composer 包

composer require dijky/spot-service-provider

或在您的 composer.json

{
  ...
  "require": {
    "dijky/spot-service-provider": "~2.0"
  }
}

如果您不使用 Composer,请克隆 Git 仓库或下载 zipball。
然后您将需要自行处理自动加载。

用法

在您的应用程序引导文件中注册 SpotServiceProvider

$app->register(new Dijky\Pimple\Provider\SpotServiceProvider(), array(
  'spot.connections' => array(
    'website' => '<dsn>',
    'forum' => '<dsn>'
  )
));

您可以添加任意多的连接。

服务提供商还接受已为 DoctrineServiceProvider 配置的连接。

$app['spot.connections'] = function() use ($app) {
  return $app['dbs'];
};

注意闭包?这样,dbs 服务只有在需要时才会被访问(和初始化)。
您还可以在引导代码中稍后覆盖或扩展它。

$app['spot.connections'] 中的第一个连接将被设置为默认连接。
默认连接也可以设置为连接 abc,方法如下

$app['spot.connections.default'] = 'abc';

服务

SpotServiceProvider 提供以下服务

  • spot:使用 Spot ORM 的 Spot\Locator 实例。
  • spot.config:用于配置 spot 服务的 Spot\Config 实例。

它接受以下配置值

  • spot.connections:将其设置为键值数组(或 Pimple 容器),其中连接名称作为键,连接字符串(DSN)或 Doctrine\DBAL\Connection 实例作为值。
  • spot.connections.default(可选):将其设置为应设置为默认值的连接名称。使用 null 取消设置。

注意:一旦首次访问 spot 服务,更改 spot.configspot.connectionsspot.connections.default 将对它没有影响。

许可协议

本软件根据 BSD 3-clause license 提供。
有关完整许可协议文本,请参阅 LICENSE

变更日志

2.0 中的新功能

  • 添加对 Pimple 3(包括 Silex 2)的支持
  • [向后不兼容] 删除对 Silex 1.x / Pimple 1.x 的支持
  • [向后不兼容] 将命名空间从 Dijky\Silex\... 更改为 Dijky\Pimple\...