On twitter

RT @beichen: 温家宝回应“谷歌”事件说,让外企享受到公民待遇。看来谷歌是铁定是要滚蛋了。

follow me on twitter

Kohana PHP framework 試玩心得 10

Kohana 前身叫做 BlueFlame, 是由 CodeIgniter 衍生出來的 PHP framework, 所以要從 CI 跳槽還滿快的 XD 而 Kohana 跟 CodeIgniter 最大的不同就是, Kohana 只能在 PHP 5 上跑。 不過其實… 現在都該換到 PHP5 了啦:p 重點是! Kohana 解決了 CodeIgniter 很多不足的地方。

像是 Namespace 的問題, 在 CI 上如果有相同名稱的 library、Model 或是 Controller 就會衝到, Kohana 則解決了這個問題。 另外在 CI 上如果有自定的 helper 的話, 其他維護者並不容易找出是寫在哪支 helper 裡, 而 Kohana 的 helper 是用 class 來作, class name 的 prefix, 則可以容易辨識出是哪支 helper, 也減少 function name 衝突的問題, 對於維護上方便很多。

另外 Kohana 也提供了 module 的機制, module 擁有自己的 controller, model 跟 view, 可以將程式劃分的更細。例如 Konaha 本身就提供了 Auth module (ACL)。 雖然 CI 也有 matchbox 提供了相同的功能, 但是需要 override CI_Loader, 萬一 CI 的版本升級, CI_Loader 有所改變呢? 當然還是比不上 Kohana 內建的好。

而 Kohana 也利用了 PHP 5 autoload 這個功能, 所有的 library 均可以透過 autoload 來自行載入。 還有 Kohana 有 ORM 阿! 話說 ORM 真的是很好用 XD model 只需要 extends ORM, 就不必再寫其他東西了, 最多定一下 has_one, has_many, belongs_to_one …等, 就行了。 省了超多時間, 不過開了 Profiler, 實際看一下 Query, hmm… 如果有 Performance 需求的話, 還是自己刻 SQL, 或者用原本的 ActiveRecord 會比較好 XD 可是…ORM 真的很好用阿!

還有 Kohana 除了一般的 Controller 之外, 也提供了 Template_Controller, 可以簡化 Controller 中 view 的處理, 還滿不賴的。說到 View, Kohana 的 View 的處理方式, 真的是不錯阿! 很清楚明暸 :p

還有很重要的一個功能, 開發網站最常碰到的就是表單資料驗證跟處理了, CI 的 validation 很好用, 但是跟 kohana 比較起來, 就顯得很囉唆, rules 跟 fields 是分開設定, 在 kohana 則是在 rules 一次處理掉。 而且也包含了 upload 功能, 可以在 validation rules 中, 直接處理掉 uplaod 的 filetype, filesize … 等, 而不像 CI 除了 validation 之外, 還需要 upload library 來處理上傳的檔案, 協調性就差多了。 相對之下, Kohana 需要照料的事情少了非常的多。

其實 stickeraction.com 一開始是用 kohana 來開發的, 在用 kohana 開發的過程當中, 真的是用的滿開心的, 不囉唆的 validation, Template_Controller 跟 ORM, 還有 media module, 開發起來比起 CI 更快勒!! 不過老實說, 踩了滿多地雷的 ~”~ hmm… Kohana 是由社群在維護, 不像 CI 是由 expression engine 的公司所維護, 也許是這樣, 不該發生的地雷才會那麼大顆吧 XD 所以… 我又花了一個晚上把 stickeraction.com 從 Kohana 整個 port 回 CI 了 :x

不過 Kohana 2.2 也快出了, 到時候一定會在玩一下的 :p 最後… 其實 Kohana 的文件一點都不齊全 ~”~

July 16th, 2008 Programming Tags: , , ,

10 Responses to “Kohana PHP framework 試玩心得”

  1. johnpupu says:

    才正想要看這個framework …………
    你就發試玩心得了~~哈

  2. tzangms says:

    @johnpupu
    我覺得可以玩一下 :p

  3. johnpupu says:

    最近要改寫幾個site ………..
    看你最後面又把他改回codeigniter 了………..
    感覺production 目前還是不要用kohana 的樣子

  4. tzangms says:

    @johnpupu
    對阿~ 發生幾個莫名奇妙的問題 ~”~ 等 2.2 在試看看
    不過至於 CodeIgniter 阿… 1.6.3 也是有問題阿 Orz (Pagination 有點問題)
    所以我現在還是用 CI 1.6.2

  5. xiefei says:

    Kohana经过一段时间的开发后。发现问题很多..比如session问题等

  6. tzangms says:

    @xiefei
    對! 我也有碰到 session 的問題! 另外也有其他滿莫名奇妙的問題 ~”~
    所以等 8月8號, 2.2 版出來之後再試看看好了 :p

  7. kohana says:

    讨论 Kohana PHP 技术的QQ群:5898732
    Kohana 是一款纯 PHP5 的框架,基于 MVC 模式开发, 它的特点就是高安全性,轻量级代码,容易使用。

  8. kohana says:

    QQ高级群:5898732
    中文网站:http://www.bsdcn.com

    Kohana教程:http://bsdcn.com/forumdisplay.php?fid=2

  9. Hex Aym says:

    我最近也在試著了解Kohana,原因是接觸了Gallery3這個軟體。

    每個framework好像都有自己的quirk,要了解還滿花時間的。Kohana看來事個輕便快速的framework,不知道比起CakePHP如何?

  10. tzangms says:

    其實我沒有用 kohana 有一段時間了 :p 當初是覺得 kohana 解決了很多 CodeIgniter 的問題。

    至於 cakephp 我沒有用過, 不過就幾位朋友的使用經驗來說, 開發很快速, 但是效能不好 :p

Leave a Reply

Partners of Oceanic / 人生海海

jiwo sca wellmeet