radnan/rdn-database

Zend Framework 2 数据库适配器管理器

v1.0.0 2013-12-28 02:22 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:11:35 UTC


README

RdnDatabase ZF2 模块提供数据库适配器的服务定位器。

如何安装

  1. 使用 composer 依赖 radnan/rdn-database

    $ composer require radnan/rdn-database:1.*
  2. 通过在 application.config.php 文件中包含它来激活模块

    <?php
    
    return array(
        'modules' => array(
            'RdnDatabase',
            // ...
        ),
    );

如何使用

简单配置数据库适配器,使用 RdnDatabase\Adapter\AdapterManager 服务定位器,并通过 rdn_db_adapters 配置选项。适配器是 Zend\Db\Adapter\Adapter 类的实例。

<?php

return array(
	'rdn_db_adapters' => array(
		'invokables' => array(),
		'factories' => array(),
	),
);

您可以使用 适配器 键通过简单的配置动态创建适配器

<?php

return array(
	'rdn_db_adapters' => array(
		'adapters' => array(
			'default' => array(
				'driver'   => 'pdo_mysql',
				'hostname' => null,
				'port'     => null,
				'username' => null,
				'password' => null,
				'database' => null,
			),
		),
	),
);

配置选项用于创建 Zend\Db\Adapter\Adapter 对象。

控制器插件

该模块附带了一个 database() 控制器插件,您可以使用它从控制器中获取数据库适配器

class FooController
{
	public function indexAction()
	{
		/** @var \Zend\Db\Adapter\Adapter $adapter */
		$adapter = $this->database('default');
	}
}

工厂

该模块依赖于 RdnFactory 模块,并提供一个 database() 插件,您可以在创建工厂类时使用。

namespace App\Factory\Controller;

use App\Controller;
use RdnFactory\AbstractFactory;

class Index extends AbstractFactory
{
	protected function create()
	{
		$adapter = $this->database('default');
		return new Controller\Index($adapter);
	}
}