稍稍看了一下 DooPHP 1.2

之前曾經看過 DooPHP 1.0 剛出來的時候標榜是效能最快的 MVC FrameWork

今天來去 DooPHP 網站看到已經更新到 1.2

與之前看到的有些許不同

例如 , DB Model 有支援 Master/Slave 架構 Wow ~~~

view 部分以前是用 Template 來實作 , 而現在多出了以原生 php 當 view , 也就是可以任君選擇啦

看起來 DooPHP 進展很快 ~ 頗有幹掉 YII 的氣勢喔 , 改天要來好好玩一下了

http://www.doophp.com/

13 則評論在 稍稍看了一下 DooPHP 1.2.

  1. Likol :

    好多MVC FrameWork 令人眼花撩亂ㄚ

    對啊~~~
    因為用 PHP 開發任何 Web 應用寫的速度都很快 , 自然一堆 FrameWork 被開發出來 ….
    可是通病就是比原生 php 直接下去建構網站慢上幾十倍以上 ><

  2. lazybones 很像 DooPHP
    尤其是 View 部分採用類似 DooPHP 的 Template , 我不是很喜歡
    當然 DooPHP 1.2 之後也支援 php 的 view
    不知道 lazybones 會不會也加入就是了
    稍微看了一下 lazybones 的測試數據 , 仍是只測到 route 部分 ,沒有 view 及 db
    若以此測試數據來看
    DooPHP 的 route 效能比 YII 快3倍 , 仍是超級快的 , 但缺點就是功能少
    我看不出來 lazybones 有甚麼特異之處 , 基本上觀念與用法都差不多

    不過那麼多的框架 , 我目前還是最喜歡 Yii
    因為 Yii 有很多 extension 可以用 , 因為 yii 的出發點也是讓核心簡單速度快 , 把額外功能給別人寫 , 所以很多 extension 可以用 , 也偷了很多 framework 的東西 , 如 Zend Framework 就有部分功能被整合成 Yii 的 extension

  3. 嗨 pigo兄

    高手果然一針見血!

    lazybones 的確在操作介面上大量參考了 DooPHP / CodeIgniter

    國際化的部份則參考自 Yii (其實知名的C++ framework – Qt 也採用類似的作法)
    Yii 也是我非常推薦的framework,它在結構上非常優美

    與 doo / CI 的不同,可能要細細感受才有辦法體會吧,至少相對於 doo 而言,lazybones在細節上加強了許多東西,彈性也較高

    我重新做了一次benchmark這次加入了 DooPHP 做比較(原本不想的,因為它太快了 XD)

    不過我一樣只做了簡單的測試,有興趣可以參考一下:
    http://lazybones.colorbase.tw/benchmark

    或許是測試環境的問題??我發現DooPHP私乎沒有像官方給的數據沒那麼快

    另外 lazybones 從一開始就可支援您所謂「php 的 view」了

    它基本上是因應我的需求而生的,也是我第一次 open source,抱著嘗試的心態,看看能不能激起什麼回應,或許過一陣子我認為lazybones沒有存在的價值,就會撤掉這個東西了吧 XD

    請多多指教囉~ 🙂

  4. @阿育
    我特別去下載測試 code , 但都有下列錯誤 , 導致 lazybones 產生的頁面是 NOT Found , 這頁面訊息是 lazybones 給的不是 apache 給的耶 , 我的測試平台是 PHP 5.3.2RC3

    [Sat Feb 27 18:05:08 2010] [error] [client 192.168.88.254] PHP Warning: call_user_func_array() expects parameter 2 to be array, null given in /srv/www/testcode/lazybones/basic/Lazybones/_lazybones/core/LZ_Event.php on line 41
    [Sat Feb 27 18:05:40 2010] [error] [client 192.168.88.254] PHP Warning: call_user_func_array() expects parameter 2 to be array, null given in /srv/www/testcode/lazybones/basic/Lazybones/_lazybones/core/LZ_Event.php on line 41
    [Sat Feb 27 18:05:41 2010] [error] [client 192.168.88.254] PHP Warning: call_user_func_array() expects parameter 2 to be array, null given in /srv/www/testcode/lazybones/basic/Lazybones/_lazybones/core/LZ_Event.php on line 41
    [Sat Feb 27 18:05:45 2010] [error] [client 192.168.88.254] PHP Warning: call_user_func_array() expects parameter 2 to be array, null given in /srv/www/testcode/lazybones/basic/Lazybones/_lazybones/core/LZ_Event.php on line 41
    [Sat Feb 27 18:05:48 2010] [error] [client 192.168.88.254] PHP Warning: call_user_func_array() expects parameter 2 to be array, null given in /srv/www/testcode/lazybones/basic/Lazybones/_lazybones/core/LZ_Event.php on line 41
    [Sat Feb 27 18:06:54 2010] [error] [client 192.168.88.254] PHP Warning: call_user_func_array() expects parameter 2 to be array, null given in /srv/www/testcode/lazybones/basic/Lazybones/_lazybones/core/LZ_Event.php on line 41

  5. @pigo

    原來是這個地方我疏忽了,我的PHP版本是5.2.6,沒顯出現過這個錯誤
    所以我一直以為是apache設定的問題,因為某些地方如果設定錯誤也會出現一樣的錯誤結果
    看來我需要找個時間灌一下新一點的版本測試一下了….

    現已放上一個修正版,感謝提供這個錯誤訊息

  6. 看起來真的是測試環境有差喔 , 我的測試比較像 DooPHP 的 benchmark , 我的機器上 DooPHP 確實比 Yii 快 2 倍以上 , 我裝的是 APC 喔 , 不知道是不是這原因

    Server Software: Apache/2.2.3
    Server Hostname: testcode.pigo.idv.tw
    Server Port: 80

    Yii 測試

    Document Path: /lazybones/basic/Yii/demos/helloworld/
    Document Length: 11 bytes

    Concurrency Level: 10
    Time taken for tests: 11.461265 seconds
    Complete requests: 10000
    Failed requests: 0
    Write errors: 0
    Total transferred: 2390000 bytes
    HTML transferred: 110000 bytes
    Requests per second: 872.50 [#/sec] (mean)
    Time per request: 11.461 [ms] (mean)
    Time per request: 1.146 [ms] (mean, across all concurrent requests)
    Transfer rate: 203.56 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.1 0 5
    Processing: 2 10 10.0 8 266
    Waiting: 1 10 9.7 7 266
    Total: 2 10 10.0 8 266

    Doo PHP 測試
    Document Path: /lazybones/basic/DooPHP/app/
    Document Length: 11 bytes

    Concurrency Level: 10
    Time taken for tests: 5.452340 seconds
    Complete requests: 10000
    Failed requests: 0
    Write errors: 0
    Total transferred: 2390000 bytes
    HTML transferred: 110000 bytes
    Requests per second: 1834.07 [#/sec] (mean)
    Time per request: 5.452 [ms] (mean)
    Time per request: 0.545 [ms] (mean, across all concurrent requests)
    Transfer rate: 427.89 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.1 0 1
    Processing: 1 4 5.0 3 165
    Waiting: 0 4 4.7 3 164
    Total: 1 4 5.0 3 165

    Lazybones 測試
    Document Path: /lazybones/basic/Lazybones/
    Document Length: 11 bytes

    Concurrency Level: 10
    Time taken for tests: 7.706355 seconds
    Complete requests: 10000
    Failed requests: 0
    Write errors: 0
    Total transferred: 2360000 bytes
    HTML transferred: 110000 bytes
    Requests per second: 1297.63 [#/sec] (mean)
    Time per request: 7.706 [ms] (mean)
    Time per request: 0.771 [ms] (mean, across all concurrent requests)
    Transfer rate: 298.97 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.2 0 5
    Processing: 1 7 6.1 6 193
    Waiting: 1 6 6.0 5 193
    Total: 1 7 6.2 6 193

  7. 貼一下軟硬體

    OS : Proxmox VE Kernel 2.6.24-9 64bit 以 OpenVZ 安裝 CentOS 5 Template
    PHP : php-5.3.2-0.2.RC3.el5.remi
    APC : php-pecl-apc-3.1.3p1-1.el5.remi
    Apache : httpd-2.2.3-31.el5.centos.2
    Apache MPM : prefork

    CPU : Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz
    DRAM : DDR2 800 8G

發佈留言