星期四, 10月 03, 2013

實作Phalcon Mssql Pdo Adapter

source: https://github.com/fishjerky/phalcon-mssql

以下是碎碎念
好不容易說服公司採用Phalcon開發專案
但大家主要的concern還是在framework太新~
如果有缺component 或有bug得等官方提供或修復~
而且Phalcon是用C寫的,要改也不容易

我是覺得真有缺的component就用php完成即可~
而且Phalcon team修bug速度還頂快的~
上次看一個issue提出,10天內就有人完成了~
便回覆大不了自己修掉,要大家放心使用~

還是發生了 ... 缺重要的component
就在專案kickoff的前二個星期發現可怕的事...
Phalcon沒有提供SQL Server adapter!!!

本想說那就用純php寫就好~
但這樣Model不能用,就等於整個ORM沒辦法用~
眼看專案就要開始了~ 只好自己下海做了~
上班還有其他事做,只能晚上自己熬夜拚~ 還有右上角這小子會來搶滑鼠鍵盤 ↗
拚了兩個星期,終於做出來了~ (泣)

原本想看Phalcon的code 應該能依樣畫葫蘆做出mssql的PDO adapter~
雖然Phalcon的C Code寫的滿Clean的
不過還真如阿土伯說的~ 除了貫C哥外,其他人說完hello後都不知要幹嘛~
幸好可利用Phalcon 有定義出abstract adapter,可用php實作~

過程中有遇到些問題,在irc上詢問phalcon team~
發現已經在開發sql server的pdo adapter, 但是使用sqlsrv( windows版 )
而且看起來未完成,還是得靠自己開發~

但也發現開發中的phalcon 2.0已全面使用zephir實作
這zephir比c語言親切多了,滿像PHP的
從中"參考"了許多寫法,省了不少實作的時間

Phalcon的unit test寫的滿完整的
這樣寫出來的code也比較放心

再來有時間會利用zephir實作mssql pdo adapter~
這樣效能會更好些~

沒有留言: