php 擴充之oci8在ThinkPHP上的應用

來源:互聯網
上載者:User

標籤:oci_8 php手冊 thinkphp

最近突然想到了oci_8的拓展,PHP的一個拓展,有很多函數,翻了翻手冊,看了看ThinkPHP的DB以及DBOracle的驅動檔案


這才想明白其中的oci_connect和oci_pconnect以及oci_new_connect的來源

代碼如下

/**     * 串連資料庫方法     * @access public     */    public function connect($config=‘‘,$linkNum=0) {        if ( !isset($this->linkID[$linkNum]) ) {            if(empty($config))  $config = $this->config;            $pconnect   = !empty($config[‘params‘][‘persist‘])? $config[‘params‘][‘persist‘]:$this->pconnect;            $conn = $pconnect ? ‘oci_pconnect‘:‘oci_new_connect‘;            $this->linkID[$linkNum] = $conn($config[‘username‘], $config[‘password‘],$config[‘database‘],C(‘DB_CHARSET‘));//modify by wyfeng at 2008.12.19            if (!$this->linkID[$linkNum]){                $this->error(false);            }//這裡的有兩個函數oci_pconnect和oci_new_connect是oci8拓展裡的,oci_connect也是//例如:$conn = oci_connect(‘system‘,‘oracle‘,‘192.168.109.132:49161/xe‘);//192.168.109.132:49161/xe--->這種字串串連是簡單串連,需要在oracle10g以上才能使用//完整 Oracle Net 連接字串提供了足夠的串連靈活性。//$db = MYDB2 = (DESCRIPTION =//(ADDRESS = (PROTOCOL = TCP)//(HOST = mymachine.mydomain)(PORT = 1521))//(CONNECT_DATA=//(SERVER = DEDICATED)//(SERVICE_NAME = MYDB.AU.ORACLE.COM)))‘;//oci8 擴充始終需要尋找 Oracle 庫和訊息檔案。找不到正確的檔案將導致 PHP 返回 Oracle“ORA-12705:Cannot access NLS data files or invalid environment specified”。            // 標記串連成功            $this->connected = true;            //登出資料庫安全資訊            if(1 != C(‘DB_DEPLOY_TYPE‘)) unset($this->config);        }        return $this->linkID[$linkNum];    }

不是造輪子,而是去理解別人是如何來組織原生的寫法,我覺得ThinkPHP的一些處理還是不錯的。

最近開始覺得oci_8的函數可以看著手冊來試一下。有新的感觸會寫在這裡

本文出自 “一站式解決方案” 部落格,請務必保留此出處http://10725691.blog.51cto.com/10715691/1953081

php 擴充之oci8在ThinkPHP上的應用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.