taq / pdooci
PHP PDO OCI 类的替代品
1.0.8
2020-08-17 10:56 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-24 07:19:00 UTC
README
通过使用纯PHP和oci_*函数,将PHP OCI函数包装成PDO对象。
让我们面对现实。安装PHP、PDO、Oracle驱动和PDO OCI不是一个愉快的事情。比起在指甲下插竹签,这更愉快。而且这有两个大问题。
-
如果你使用pecl安装pdo_oci,你会得到一个2005年的版本(http://pecl.php.net/package/PDO_OCI)。即使克里斯蒂安·贝尔现在也远离2005年的事物了,哇,他有一套很酷的衣服和一辆非常好的车。而且一切都是黑色的。
-
如果你遵循官方文档,你需要编译PHP,并且仍然会得到一个实验性扩展(https://php.ac.cn/manual/ref.pdo-oci.php)。看在上帝的份上。我们不可能(是的,我们知道怎么做!)在每个服务器上编译PHP,只是为了一个实验性特性?
这就是为什么我创造了PDOOCI。
安装
首先安装Oracle驱动程序(我喜欢即时客户端版本)和oci8
软件包(使用pecl,这个版本似乎更新得很频繁)。
使用Composer
$ composer require taq/pdooci
{ "require": { "taq/pdooci": "^1.0" } }
<?php require_once 'vendor/autoload.php'; $pdo = new PDOOCI\PDO("mydatabase", "user", "password");
不使用Composer
你为什么不用composer?下载repo中的src
文件夹并将其重命名为PDOOCI
,然后需要PDOOCI/PDO.php
文件。
require_once "PDOOCI/PDO.php"; $pdo = new PDOOCI\PDO("mydatabase", "user", "password");
是的,其余部分应该和你使用PDO对象时完全一样。:-)
测试
在test
目录下有一个测试套件(使用大于6.x版本的PHPUnit)。如果你想测试(你必须测试你的代码!),创建一个名为people
的表,包含两个列
name
为varchar2(50)
email
为varchar2(30)
和一些环境变量
PDOOCI_user
包含数据库名称PDOOCI_pwd
包含数据库密码PDOOCI_str
包含数据库连接字符串
别忘了运行composer install
!
然后进入test
目录,像这样运行PHPUnit
phpunit --colors .