PHP 5 数据对象 (PDO) 抽象层与 Oracle

PDO 简要介绍PHP
首假若由志愿者成功的品类;就算有个别有的一定的大旨开拓职员,但是大家向来不一人在全职受薪的成本PHP。除外,大家独家位居世界不一致地点,您能够想象长期开荒的调养工作是哪些勤奋。由此,PHP
主倘使依附痴心企图的个人长期必要来提升的,日本东京办公楼其缘由也五光十色,有的是试验,有的则是因为前几天有活要交。固然那样平时每一步都会修改PHP,但从遥远来看则是贫乏完整性 -
数据库扩充便是三个根本的例子HK路虎极光FP。在各样不一样的数目增添之间历来未有当真的一致性,以至在一些景况下,在这里些扩张内部也从未真正的一致性。大约全体那些扩张都在选拔与根基数据库
API
紧凑相连的不及代码达成着同等类其余天职。何况因为大家的人士特别常有限,由此那就产生了代码尤其难以维护,进而为
PHP 带给了不小的标题。由于 PHP 越来越受款待并持续成功,因此根本 PHP
数据库增加的援救者们参与了在德意志进行的 LinuxTag 2001大会,在会上大家交流了对 PHP 前景的理念。在研讨 PHP
发展的随机性时,我们规定了在 PHP
中举办数据库访谈的一部分指标:?提供一种轻型、清晰、方便的 API?统一各样分化TiguanDBMS 库的共有特性,但不扫除更高端的特色。?通过 PHP
脚本提供可选的十分大程度的虚幻/宽容性。大家因此提出了这种 PHP 数据对象
(PDOState of Qatar 的定义,是因为我们期望通过接纳 Zend Engine
2进取的面向对象本性获得该 API 的片段更不错的质量东京漱口。PHP
中的数据抽象层概念一点都算不得新;在 Google 中查询PHP database
abstraction会找到大致 83,200 个匹配项。它差不离是好些个 PHP
开垦职员时刻思念的,而其发生则有个别归因于我们不完全的
API。假诺您曾经尝试过使用第三方抽象层来成功别的真正关键的干活,平时会意识这个抽象层对于手头的职业的话设计的效益过于强大了
-或然变现为在行使前需求展开大批量就学,也许变现为接口速度缓慢,参数要求经过多层脚本函数调用才干达到数据库自有的
API;经常是存在上述二种表象。为何那个抽象层会存在此种主题材料?这么些抽象层总是在计划实现太多的天职,以至或者是不容许的职责。大家决定以实用为指标,仅将有个别最广大的数据库
API 特性作为大家的根底,并使得 PDO
驱动程序能够将它们特定于付加物的表征暴光为常规扩张函数。为何使用
PDO?听过关于数据库抽象扩展谣传的大部人会立即对 PDO 的强盛方面发出疑心- 我们是否要深入分析 SQL,将其转移为对应的后端方言呢?大家如哪个地方理天性 X
或特色 Y,等等。因而,当您听他们讲大家在 PDO
中一贯并不是为此而忧虑时或许会惊诧极其;我们夏令营不希望使具有内容都完全统一,因为要使得这种联合改为可能,只可以是将团结限定在低于的通用标准。若是PDO
不是叁个一体化的抽象层,那还会有啥样其他原因值得你考虑使用它呢??品质。PDO
从一最初就摄取了现成数据库增加成功和倒闭的阅世教化。因为 PDO
的代码是崭新的,所以我们有空子再次最早陈设性情,以应用 PHP 5
的流行特性。?才干。PDO 目的在于将普及的数据库功用作为根基提供,同一时间提供对于
昂CoraDBMS 独特效率的有益访谈。?轻便。PDO 目的在于令你能够轻便使用数据库。API
不会暴虐参与您的代码,同不日常候会明白地方统一规范明各种函数调用的进度。?运行时可扩展。PDO
扩充是模块化的,让你可以在运维时为你的数据库后端加载驱动程序,而不要再次编写翻译或重新安装整个
PHP 程序。比如,PDO_OCI 扩充会代替 PDO 扩充完成 Oracle 数据库
API。还或者有部分用于 MySQL、PostgreSQL、ODBC 和 Firebird
的驱动程序,更加多的驱动程序尚在开采。您大概想理解 PDO
与别的常用的抽象层的比较景况,比如 PEA库罗德 DB 或 ADODB。无论在 API
方面依旧在品质方面,PDO
都比其余左近抽象层要轻型,可是关乎到在挨门挨户数据库后端之间提供统一性方面,则比不上那多少个抽象层,比方用于拍卖大量可移植性难题的
PEA纳瓦拉 MDB 2 抽象层。在何地能够获得 PDO?PDO 是透过 PECL,即 PHP
扩大库提供的。纵然您在运维 Linux
Computer,请依照下边包车型地铁表明举办安装;稍后是在 Windows
上设置的详细音信。请在乎,PDO
及其驱动程序当前处于alpha状态;这就代表我们会创设保障未有根本短处,不过该程序包功效并不周到-
咱们还要加上相当多功效。虽然大家慰勉你测量检验该程序包,可是实际上不推荐在当前将其用于分娩。<

名新 PHP 数据对象 (PDO卡塔尔 数据抽象层的本来开荒职员为您简介该抽象层,重视陈说与
Oracle 一同运维的情景。
  需要 PHP:5.0
  须求其余:Oracle 8 或越来越高版本顾客端库
  下载用于 Oracle 的 PDO (Windows卡塔尔(قطر‎:php_pdo.dll, php_pdo_oci.dll
  下载用于 Oracle 的 PDO (Unix卡塔尔国:pdo, pdo_oci
  PDO 简介
  PHP
首假若由志愿者成功的项目;纵然有少数有的原则性的“宗旨”开荒人士,可是大家从没壹人在全职受薪的开支PHP。除了这几个之外,大家分别放在世界差异域方,您能够想像长时间开辟的调养职业是怎样困苦。因而,PHP
首借使依据奇思妙想的村办长时间供给来提高的,其原因也不胜枚举,有的是试验,有的则是因为“几眼前有活要交”。就算这样常常每一步都会改革PHP,但从深切来看则是缺点和失误完整性 - 数据库教程扩张正是叁个首要的事例。
  在种种差别的数量扩充(oci、mysql、postgresql、mssql
等)之间历来未有真的的一致性,甚至在一些景况下,在这里些增加内部也从不真正的一致性。差不离具有那么些扩展都在接收与底蕴数据库
API 紧密相连的区别代码完成着同等类其余天职。何况因为大家(PHP
核心开荒人员和扩大开采人士)的人口特别有限,由此那就引致了代码特别难以维护,进而为
PHP 带给了超大的标题。
  由于 PHP 更加的受招待并不断成功,由此入眼 PHP
数据库扩张的援助者们列席了在德意志实行的 LinuxTag 二〇〇二大会,在会上我们调换了对 PHP 前景的理念。在斟酌 PHP
发展的随机性时,大家规定了在 PHP 中张开数据库访谈的一部分目的:
  ·提供一种轻型、清晰、方便的 API
  ·统一各个差别 本田UR-VDBMS 库的共有脾性,但不消逝更加尖端的特色。
  ·通过 PHP 脚本提供可选的超级大程度的用空想来安慰自己/宽容性。
  大家之所以提议了这种 PHP 数据对象 (PDO)的定义,是因为我们意在因此选用 Zend Engine
2(PHP 5 的基本)先进的面向对象脾气获得该 API 的部分更完美的特性。
  PHP 中的数据抽象层概念一点都算不得新;在 谷歌 中查询“PHP database abstraction”会找到差不离83,200 个相称项。它大致是贪求无厌 PHP
开垦职员耿耿于怀的,而其发生则某些归因于大家不完全的
API。假如您曾经尝试过使用第三方抽象层来产生别的真正关键的办事,平常会发觉那么些抽象层对于手头的劳作来讲设计的作用过于强盛了 -
只怕变现为在应用前供给进行大批量学学,或许变现为接口速度迟滞,参数供给经过多层脚本函数调用本事抵达数据库自有的
API;经常是存在上述二种表象。
  为何那几个抽象层会存在这里种主题材料?这一个抽象层总是在思虑达成太多的天职,以致或然是不容许的职责。大家决定以实用为指标,仅将有个别最广大的数据库
API 天性作为大家的基础,并使得 PDO 驱动程序能够将它们特定于付加物的性状暴光为平时增添函数。
  为何接受 PDO?
  听过有关数据库抽象扩充谣传的大比非常多人会应声对 PDO 的扩大方面发出思疑- 我们是或不是要解析 SQL,将其更改为相应的后端方言呢?大家怎么处理脾气X 或特色 Y,等等。由此,当你听大人讲大家在 PDO
中常常有毫无为此而令人忧虑时或然会吃惊;大家不期望使具有剧情都统统统一,因为要使得这种统一改为恐怕,只好是将和睦限制在低于的通用典型。
  假如 PDO
不是叁个整机的抽象层,那还犹如何别的原因值得你考虑动用它吧?
  ·质量。PDO 从一齐初就摄取了现存数据库扩大成功和波折的经历教导。因为
PDO 的代码是全新的,所以大家有时机再度发轫筹算性子,以使用 PHP 5
的风行天性。
  ·手艺。PDO 意在将周边的数据库功用作为根底提供,同不平时间提供对于 LacrosseDBMS
独特成效的有利访谈。
  ·简单。PDO 目的在于使您能够轻易使用数据库。API
不会狂暴参预您的代码,同期会分晓地注脚各样函数调用的历程。
  ·运营时可扩展。PDO
扩张是模块化的,使您能够在运维时为您的数据库后端加载驱动程序,而无需再一次编写翻译或重新安装整个
PHP 程序。比如,PDO_OCI 扩大会替代 PDO 扩大完成 Oracle 数据库
API。还应该有部分用来 MySQL、PostgreSQL、ODBC 和 Firebird
的驱动程序,更加多的驱动程序尚在开垦。
  您只怕想通晓 PDO 与别的常用的抽象层的对峙统一意况,举例 PEASportage DB 或 ADODB。不论在 API
方面大概在质量方面,PDO
都比任何大范围抽象层要轻型,可是涉及到在各样数据库后端之间提供统一性方面,则不比那个抽象层,例如用于拍卖大批量可移植性难题的
PEA卡宴 MDB 2 抽象层。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图