標籤:

對於PHP程序初學者來說,有沒有比較好的開源項目適合學習和深入的呢?


開源項目大部分都是偏向於單一模塊,或者單一功能的,很少有完整的一套東西,有也是一些大型的複雜的不太適合新手閱讀,會越看越懵的。

所以應該是先嘗試去實現一些基本的功能:

- 文件上傳

- 圖片處理

- 資料庫操作

- 分頁

- 字元串操作

- MVC

- ORM

- 模板引擎

然後嘗試用它們組合出來自己的框架,用這個框架開發一個項目,基本上就熟悉不少了。

然後就是多多看看別人的代碼,建議參考GitHub上的PHP star數量較多的。

- 項目: Trending PHP repositories on GitHub today · GitHub

- 用戶或者組織:Trending PHP developers on GitHub today · GitHub

另外就是我之前回答過的問題可以參考一下:想要開發自己的PHP框架需要那些知識儲備? - 安正超的回答


謝邀,優秀的PHP開源項目值得我們深入的學習和研究,在此推薦幾款優秀的PHP開源項目,希望對題主的學習有所幫助,也供大家一起交流探討。

1. 項目名稱:多功能 THinkPHP 開源框架

項目簡介:使用 THinkPHP 開發項目的過程中把一些常用的功能或者第三方 sdk 整合好,開源供大家參考,如 Auth 許可權管理、支付寶、微信支付、阿里oss、友盟推送、融雲即時通訊、雲通訊簡訊、Email、Excel、PDF 等等。這些都是經過線上運營考驗的,無毒害可以免費放心折騰使用。

此開源產品面向所有 THinkPHP 開發用戶,基本思想是不改動框架的源文件,只是圍繞著框架擴展,所以整合的這些功能都可以無痛兼容各種環境,既可以按照文章將整合的這些功能方便的移植到你已有的項目中,也可以直接以此項目為基礎開發。

項目地址:白俊遙/thinkphp-bjyadmin - 碼雲

2. 項目名稱:基於 Laravel 的輕量級 web 部署系統 Fixhub

項目簡介:Fixhub 是一款免費、開源,基於 Laravel 5.3 框架開發的 web 自動部署系統。目前實現的功能主要包括:

  • 支持 PHP、Python、JAVA、Ruby 等項目的發布。
  • 通過 SSH 將程序部署到多台伺服器上。
  • 直接從 Git 倉庫克隆項目代碼並進行打包、安裝。
  • 執行遠程伺服器 bash 命令。
  • 通過 Websocket 實現項目部署狀態的實時跟蹤。
  • 在伺服器保留追溯版本記錄,以便快速回滾。
  • 通過任務計划進行項目健康檢測。
  • 可通過 webhook 觸發部署。
  • 上線單申請、審核流程。
  • Slack 和郵件通知。

項目地址:Fixhub/Fixhub - 碼雲

3. 項目名稱: 基於Yii 框架協同辦公管理系統 IBOS

項目簡介:IBOS 是一個基於PHP開發、Yii框架、免費開源的,快速、高效的協同辦公管理系統。最新的 IBOS 為協同辦公應用開發提供了強有力的支持,這些支持包括:

  • 複雜的用戶組織結構管理支持。
  • 靈活和完善的角色許可權控制體系,許可權粒度支持到方法的許可權設置。
  • 實用的功能和完善的插件機制。
  • 模塊化的功能應用機制,可單獨安裝卸載單個應用。
  • 雲平台支持-提供了對新浪 SAE 平台和本地環境雙重支持的選擇,具備「橫跨性」和「平滑性」,支持本地化開發和調試以及部署切換。
  • 緩存支持-提供了包括文件、資料庫、Memcache、Xcache、Redis 等多種類型的緩存支持。

項目地址:IBOS開源OA協同辦公管理/IBOS - 碼雲

4. 項目名稱:基於 CodeIgniter 框架的 CMS

項目簡介:菜鳥 CMS 是用 CodeIgniter + bootstrap2.0 面向開發人員的通用管理後台,視情況而定是否運用到你自己的項目中,其主要功能包括:

  • 許可權模塊
  • 會員模塊
  • 文章模塊
  • 幻燈片模塊
  • 類別模塊
  • 緩存模塊
  • 日誌模塊
  • 系統設置

項目地址:ErYang/CNCMS - 碼雲

5. 項目名稱:基於 zend 開發的 CMF 系統

項目簡介:本項目是一個基於 zend framework 1.12.3 開發的 CMF 系統。

  • 在不改動 zend framework 代碼的基礎上構建的基於 app 的 CMF 系統。
  • 自帶後台,以及安裝模塊。
  • 對 zend framework 的 ini 配置文件進行緩存,大大提高了 zend framework 的運行速度。
  • 巧妙的使用 zend framework 的 layout ,view 模塊,使各 app 模塊,可以使用全局 layout 進行布局,也可以 app 模塊自定義的布局,(默認情況下 app 模塊未定義 layout 布局將使用全局布局)。
  • 資料庫通過定義可以開啟讀寫分離功能,通過配置 ini 文件,可以很方便的分庫,各分庫之間的功能可以無縫調用。
  • 每個 app 模塊包含有一個 library 庫,各 app 模塊 libray 庫,可以互相調用,libray 分 dao,service,tool 三層結構,非常方便以後擴展。
  • 類庫實現自動載入,不需要特意 include。

等等還有許多其他功能,適合初學 zend framework 的開發人員學習以及高級開發人員在項目中使用。

項目地址:trensy/mycmf - 碼雲

6. 項目名稱:基於 phalcon 開發的內容管理系統

項目簡介:本項目是基於 Phalcon 開發的內容管理系統。 特性:

  • 繼承 Phalcon 框架全功能。
  • 多網站支持,異站點用戶文件、同網站私有/共有網站隔離。
  • 強大的個性化環境,每個用戶可以對網站內容和表現形式進行個性化設置。
  • 基於用戶角色、模塊、角色的許可權控制系統,當然,您也可以通過回調函數進行更精細控制。
  • 提供的站內搜索系統原生支持全文搜索。
  • 使用 volt 編寫主題模板,類 twig 語法,單比 twig 更高效。
  • Tolowan 提供的實體管理、欄位管理、表單管理、模型管理等機制,可以大大縮減二次開發的難度和所需時間。

項目地址:IT大叔/Tolowan - 碼雲

碼雲 http://Gitee.com

發現更多優質開源項目:最新推薦 - 碼雲 - 開源中國

團隊流暢、高效開發:碼雲企業版 - 碼雲 - 開源中國


嘗試寫個框架


laravel 這個本身就包含了 symphony


推薦閱讀:

相對於別的php框架來說thinkphp有什麼缺點嗎?
面試php工程師出什麼考題好?
Web後台語言的選擇?
什麼開發語言可以替代PHP?
微軟.Net架構現在被不少人吐槽「老掉牙」,相比其它技術(如php)它是否真的失去優勢?

TAG:PHP |