我正在自學網絡開發,現在我正在使用HTML/CSS/PHP,但我很難理解網站代碼應該如何構建以避免大量重複代碼和類似的東西。開源網站
我想知道是否有一些稍微複雜的網站是開源的,所以我可以查看所有的代碼(包括PHP),看看事情是如何實際完成的,所以我可以通過這些開源網站的例子正確地創建網站。
我正在自學網絡開發,現在我正在使用HTML/CSS/PHP,但我很難理解網站代碼應該如何構建以避免大量重複代碼和類似的東西。開源網站
我想知道是否有一些稍微複雜的網站是開源的,所以我可以查看所有的代碼(包括PHP),看看事情是如何實際完成的,所以我可以通過這些開源網站的例子正確地創建網站。
如果」考慮使用MVC範例,我建議你研究如何設計和實現一個Web框架(如symfony,codeigniter,yii,ror或zend),以便了解一個大型Web應用程序的結構(請求,安全性,緩存,登錄,數據庫,表單等),然後嘗試設計和構建自己的一個。
這會教你很多寶貴的概念,如:
如果你設計自己的框架propperly你必須爲你的所有網絡應用程序的基礎結構,以及大量可以在您的網站上使用的常用功能類(登錄,表單,html等)。
您不必執行所有任務,您可以使用一些庫來完成最複雜的任務。比如用於ORM的Propel或Doctrine,用於緩存系統的APC,用於數據庫訪問的PDO,用於重寫URL的apache mod_rewrite。
我這樣做,並瞭解了很多關於如何使體面的Web應用程序。
我也相信它也會幫助你改善你的編碼風格。希望這有助於 –
您還可以檢查內容管理系統,如WordPress,Drupal,Joomla等。 –
SourceForge是一個網站,列出數以百萬計的免費開源項目供您使用和下載。
看以Q &系統OSQA.net,它類似於StackExchange QA網站,但開源
的StackOverflow(StackExchange供電的質量保證體系)不開源本身,信息在這裏:
https://meta.stackexchange.com/questions/14656/is-the-stack-overflow-source-code-available
您最好的選擇是瞭解如何使用Zend Framework或Codeigniter等開源Web框架。他們使用MVC-ish模式構建Web應用程序/站點。但是,您必須先學習課程和自動加載器。 – dqhendricks