回複內容:
不知道為什麼那麼多人推薦discuz,我比較無語。絕對是帶壞人麼。
先說說discuz為何不適合學習。
 - 資料庫冗餘欄位多,我知道這個是為了最佳化效能,但是,這個讓一個新手情何以堪。
 
 - 架構問題,請問這裡誰敢說,discuz的架構適合二次開發?
 
 - 社區問題,其他架構都有良好的社區(當然是流行的架構),好的社區在往後的開發上會有很大的協助。
 
 - discuz的性質,discuz不算是純開源的,形似開源,卻沒有開源項目最核心的東西——沒有第三方為其提供核心代碼,外掛程式什麼的。。。不能算。
 
如果,你想在這條路上走的長,你就要開始找mysql的資料看了,基本的sql一定要好,同時要掌握好每個資料間的關係,1-n ,1-1,n-n這先基本的關係,如何?查詢,如何設計,都要有清晰的思路。
等你用php+純sql做過幾個簡單的項目,你就會去考慮如何封裝sql調用,如何管理資料庫串連。這個時候,你就需要去瞭解架構了,那麼我推薦你從yii開始。核心還是要理解M層,因為,MVC三個東西,對於M的定義大多數架構是一樣的,M裡面還包含一個較ActiveRecord的東西,很多語言很多架構上都可以看到類似的實現。
學習是尋序漸進的過程,技能類的學習要基於實地的操作,所以,一切不動手做點東西的,學開發都是耍流氓。架構源碼。
比如zend framework。
當初我是從讀Yii framework源碼開始,折服於它的代碼風格和設計模式。Wordpress、 ZendFramework、CodeIgniter
如果不是目的十分明確的話不推薦 Drupal 和 Joomla! 。有了一定的php基礎,建議可以先搭建一個小型網站來鍛煉一下。
然後,可以看看CI架構,結合自己的經驗,看看別人怎麼建德架構。
接著,下載一些常見的免費系統來看看別人怎麼做的,如phpcms,discuz等可以看下dz這種面向過程的代碼,學習一下功能的實現方式以及資料庫結構的構建。版本低一些比較好,6.0足夠了。
不推薦wordpress,wordpress的結構相當複雜,資料庫結構混亂,從技術角度來說,不是一個好作品。
zf、ci等架構也最好別看,上手就不容易。mvc是一種設計模式,等到了開發各種功能基本上都得心應手了再學習mvc比較好(但是要有mvc的思想,寫代碼時候結構一定要清晰,不要把html搞得亂七八糟的)。
另外,不推薦學smarty模板。smarty硬生生的在中間套一層東西,起到的作用不明顯,還要用模板的文法,很無聊。有個PT源碼,NexusPHP,寫的挺好的,頁內搜尋、P2P、Tracker、資料庫索引,功能很全 discuz國內比較知名的吧,而且效率也非常之高,可以研究一下項目的結構,以及核心的代碼,也可以研究一些社區網站的代碼,如thinksns之類的。也可以通過一些好用的架構ThinkPHP,zendframework來加深對架構、mvc的理解。