alanseiden / doctrine-dbal-ibmi
IBM i 平台上DB2的Doctrine DBAL驱动程序
0.0.8
2021-10-13 15:14 UTC
Requires
- php: ^5.6|^7.0|^7.1
- doctrine/dbal: ^2.5
Requires (Dev)
- doctrine/orm: ^2.0.0
- phpunit/phpunit: ^5.6
This package is not auto-updated.
Last update: 2024-09-12 05:17:19 UTC
README
IBM i平台上的Doctrine DBAL驱动程序。
基于@cassvail在doctrine/dbal#910中的原始工作。
使用方法
首先使用Composer进行安装
composer require alanseiden/doctrine-dbal-ibmi
配置
此包提供2个驱动程序:OdbcDriver
和DB2Driver
。
OdbcDriver
需要pdo_odbc
扩展,这是推荐的驱动程序。
DB2Driver
需要ibm_db2
扩展,不推荐用于新的连接。
可以使用Doctrine DBAL文档中描述的说明进行配置。
<?php use Doctrine\DBAL\DriverManager; use DoctrineDbalIbmi\Driver\OdbcDriver; $connectionParams = [ 'driverClass' => OdbcDriver::class, 'host' => 'localhost', 'dbname' => 'mydb', 'user' => 'user', 'password' => 'secret', ]; $conn = DriverManager::getConnection($connectionParams);
示例
Doctrine ORM
您可以手动配置一个EntityManager
,如下所示
<?php use Doctrine\ORM\EntityManager; use Doctrine\ORM\Tools\Setup; use DoctrineDbalIbmi\Driver\OdbcDriver; $configuration = Setup::createAnnotationMetadataConfiguration([ __DIR__ . '/../path/to/your/entities/', ], true); $connection = [ 'driverClass' => OdbcDriver::class, 'host' => 'localhost', 'dbname' => 'mydb', 'user' => 'user', 'password' => 'secret', 'persistent' => false, ]; $entityManager = EntityManager::create($connection, $configuration);
然后您可以使用这个\Doctrine\ORM\EntityManager
实例。
Zend Expressive
在您的连接配置中,配置Zend Expressive应用程序时使用这些设置
<?php use DoctrineDbalIbmi\Driver\OdbcDriver; return [ 'doctrine' => [ 'connection' => [ 'orm_default' => [ 'driverClass' => OdbcDriver::class, 'params' => [ 'host' => 'localhost', 'dbname' => 'mydb', 'user' => 'user', 'password' => 'secret', 'persistent' => false, ], ], ], ], ];