apache - 大家自己寫過哪些PHP架構或者工具?求連結

來源:互聯網
上載者:User
大家自己寫過哪些PHP架構或者工具?求連結

回複內容:

大家自己寫過哪些PHP架構或者工具?求連結

我為自己的網站寫了個架構,一直在使用 http://github.com/yeaha/Lysine2,每天處理幾百萬的動態請求

  • RESTful風格的controller
  • 內建DataMapper方式的ORM實現,比ActiveRecord更方便的是後端不僅僅局限於關係式資料庫,可以方便的切換為mongodb等儲存服務,而model api基本保持不變,且便於分庫和分表
  • 支援layout方式的視圖
  • mysql/postgresql/sqlite adapter
  • 常用緩衝redis/memcached adapter
  • 日誌記錄
  • 單元測試完整

總計代碼4616行,168K,最大的毛病是沒文檔

Lysine2/src|-- class_files.php|-- context.php|-- core.php|-- curl.php|-- datamapper.php|-- error.php|-- functions.php|-- http.php|-- loader.php|-- logging.php|-- mvc.php|-- service|   |-- amqp.php|   |-- db|   |   |-- mysql.php|   |   |-- pgsql.php|   |   `-- sqlite.php|   |-- db.php|   |-- manager.php|   |-- memcached.php|   `-- redis.php|-- session.php`-- traits.php

phploc統計結果:

Size  Lines of Code (LOC)                             4616  Comment Lines of Code (CLOC)                     203 (4.40%)  Non-Comment Lines of Code (NCLOC)               4413 (95.60%)  Logical Lines of Code (LLOC)                    1567 (33.95%)    Classes                                       1402 (89.47%)      Average Class Length                          23      Average Method Length                          3    Functions                                      116 (7.40%)      Average Function Length                        4    Not in classes or functions                     49 (3.13%)Complexity  Cyclomatic Complexity / LLOC                    0.40  Cyclomatic Complexity / Number of Methods       2.41Dependencies  Global Accesses                                   28    Global Constants                                 2 (7.14%)    Global Variables                                 3 (10.71%)    Super-Global Variables                          23 (82.14%)  Attribute Accesses                               432    Non-Static                                     411 (95.14%)    Static                                          21 (4.86%)  Method Calls                                     530    Non-Static                                     465 (87.74%)    Static                                          65 (12.26%)Structure  Namespaces                                        12  Interfaces                                         2  Traits                                             3  Classes                                           60    Abstract Classes                                 5 (8.33%)    Concrete Classes                                55 (91.67%)  Methods                                          395    Scope      Non-Static Methods                           370 (93.67%)      Static Methods                                25 (6.33%)    Visibility      Public Method                                314 (79.49%)      Non-Public Methods                            81 (20.51%)  Functions                                         26    Named Functions                                 21 (80.77%)    Anonymous Functions                              5 (19.23%)  Constants                                         55    Global Constants                                 5 (9.09%)    Class Constants                                 50 (90.91%)

https://gist.github.com/yeaha/672178
這是一個展示儲存服務路由配置的程式碼片段,用於展示如何分庫
配置好以後由mapper使用,對data model完全透明

我寫了幾個有點另類的架構:

高效能 PHP Socket 伺服器架構 workerman
PHP Thrift Rpc遠程調用架構 workerman-thrift-rpc
PHP Json Rpc遠程調用架構 workerman-json-rpc
PHP聊天室架構 workerman-chat

以上架構都是用PHP Daemon啟動並執行,不用安裝 apache、nginx、php-fpm這些軟體就能直接跑。

workerman效能很強悍,我每天用它處理過億的訂單請求。

這個帖應該是毛遂自薦帖咯?

之前因為很喜歡fatfree的路由控制(說實話單獨的路由控制沒找到比fatfree更讓我喜歡的),但是因為資料庫和模板操作這邊我也有其它喜歡的,所以昨天(還是前天?)把fatfree的路由功能給剝離了出來,不是我自己寫的,不過也算是專屬的(Github沒搜到相關的項目),拿出來分享給題主吧,項目地址是:http://github.com/lizheming/F3router

架構這部分的話再推薦兩個不是我自己寫的東西吧(我是真的很喜歡你造嘛!)。資料庫操作推薦一下喵飯大大的 Medoo 以及模板引擎推薦一下 Twig。不過模板這方面如果是做自己用的東西的話我更傾向於用原生的PHP文法去寫。

架構因為用的東西不多,能說的也就這麼幾個了。關於工具的話,之前因為 Jekyll 和 Octopress 的流行,寫過一個PHP版的靜態部落格產生器。很早些的,大換血過好幾個版本,一直在更新,項目地址是:http://github.com/lizheming/pmblog

能拿得出手的東西就這麼一點了,有問題歡迎反饋。

推薦自己的LitPHP

推薦理由:0.1版本程式碼數=270行,表現力豐富,自由整合任何模板/ORM解決方案,有實際生產項目

官網
Github Repo
開發分支
教程
設計理念

一生PHP功力化繁為簡凝聚而成。除了組織代碼和一些路由之外,沒有任何功能,刪無可刪。也就是說任何功能都由你自己適配上去從而保持100%控制權,任何自己喜歡的模式都可以輕鬆套進去。

做架構的架構,讓每個應用都躺在量身打造的架構中。

代碼:

https://github.com/liaohuqiu/cube-php

文檔:

http://cube-php.liaohuqiu.net/

這三年來一直在用的東西,這個架構支撐起來的業務曾經紅極一時。名字隨便起的,代碼也還沒完全整理好。

好些時間沒寫php了,最近忙裡偷閒,重新拾起,開源出去,了一個念想,換一個紀念。

  1. 實現標準的autoload規則,允許各種架構接入
  2. 分庫分表
  3. 極其簡單的路由
  4. 對話方塊,ajax請求,用戶端API請求,5分鐘可以上手。
  5. 附送一個管理後台
  6. 附送一個JS架構

https://github.com/lloydzhou/router

  1. 一個只有100行的路由控制器,算不上架構了。

  2. 不使用Regex做路由映射,而是根據pathinfo建立樹形結構,保證路由尋找速度穩定在Olog(n)。

  3. 支援hook,可以用來過濾參數,檢查登入等。

  4. 支援根據handler參數列表自動擷取變數,與hook結合使用,再也不用滿篇寫GET POST變數了。。。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.