cekurte/doctrinebundle

扩展 Doctrine 库的功能

安装: 690

依赖者: 1

建议者: 0

安全性: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.1 2016-05-03 19:45 UTC

This package is auto-updated.

Last update: 2024-09-16 02:40:23 UTC


README

Build Status Code Climate Coverage Status Latest Stable Version License SensioLabsInsight

  • Doctrine DBAL 的扩展,可用于在运行时使用 Symfony 2 在数据库连接之间切换,为此项目贡献力量

如果你喜欢这个库,请给我一个 星标 =)

安装

  • 该软件包可在 Packagist 上找到。
  • 源代码文件兼容 PSR-2
  • 自动加载兼容 PSR-4
composer require cekurte/doctrinebundle

然后,像这样在您的 AppKernel 中注册该组件:

// app/AppKernel.php

// ...
public function registerBundles()
{
    $bundles = array(
        // ...
        new Cekurte\DoctrineBundle\CekurteDoctrineBundle(),
        // ...
    );

    // ...
    return $bundles;
}

文档

首先,您必须配置 doctrine 数据库连接。因此,在您的配置文件中添加以下内容。

# app/config/config.yml

# ...
doctrine:
    dbal:
        default_connection: dynamic
        connections:
            dynamic:
                driver:   "%database_driver%"
                host:     "%database_host%"
                port:     "%database_port%"
                dbname:   "%database_name%"
                user:     "%database_user%"
                password: "%database_password%"
                charset:  UTF8
                wrapper_class: "Cekurte\DoctrineBundle\DBAL\ConnectionWrapper"

之后,当您需要更改数据库连接时,可以检索一个名为 doctrine.dbal.dynamic_connection 的服务 ID 并调用 forceSwitch 方法,以下是一个示例。

<?php

namespace YourNamespace\YourBundleBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class YourController extends Controller
{
    public function indexAction()
    {
        // ...

        // Change the current database connection...
        $this
            ->get('doctrine.dbal.dynamic_connection')
            ->forceSwitch(
                $dbHost,
                $dbName,
                $dbUser,
                $dbPassword,
                $dbOptions
            )
        ;
    }
}

贡献力量

  1. 给我一个星标 =)
  2. 分支它
  3. 创建您的功能分支(git checkout -b my-new-feature
  4. 进行更改
  5. 运行测试,如果需要,为您的代码添加新的测试(vendor/bin/phpunit
  6. 提交您的更改(git commit -am '添加了一些功能'
  7. 推送到分支(git push origin my-new-feature
  8. 创建新的拉取请求