對於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 |