2012-07-13 90 views
2

我約11個月爲PHP編寫了一個相當廣泛的基於HTML5的視頻部署庫。我的客戶正在付錢給我寫這個圖書館,以換取使用該圖書館的許可證,我目前正在撰寫該許可證。我一直在保持一個包含所有面向對象類的巨大的 PHP文件(此時爲60Kb)。我建立的系統需要在每個頁面上的這個文件中,我想這些文件會讓人不悅。不要誤會我的意思,在PHP中我不是新手。我已經寫了大約兩年的PHP,並且幾乎使用了所有最先進的功能。然而,我仍然想要改進,我相信我的創作策略對我來說是一個弱點。圖書館創作策略

我喜歡jQuery的創作簡單。它使得重寫代碼比PHP更容易,至少對我而言。在整個過程中,我一直廣泛地使用jQuery。閱讀this document對於被認爲是「最佳實踐」的方法,我感到非常滿意。任何人都可以回想一下處理PHP的類似資源嗎?

我的目的是學習一個更好的PHP編程習慣,而不會丟失低級別的能力並跳轉到另一個類似CodeIgniter的庫。我根本不喜歡基於另一個圖書館編寫圖書館的想法;我會想象我的系統會留下更大的佔地面積並使用更多的資源。

回答

3

首先,您無法將圖書館與語言進行比較。蘋果和桔子。不幸的是,當涉及到PHP時,沒有單一的終極知識源。我只能提出一些我發現很有用的閱讀材料。

  • PHP-FIG - 一套由PHP框架協同工作組放在一起的標準(Github link);
  • autoloading - 擺脫所有那些include構造;
  • Composer - 跟蹤項目和庫的本地依賴關係的包管理器;
  • PHPUnit - PHP的單元測試框架;
  • phpDocumentor - 在您的評論中使用tags以清晰地記錄代碼的每個方面。我個人發現Fabien Potencier的Sami用於生成更適合的自動文檔,但這只是個人偏好的問題;

另外,如果你想通過實例學習,看一看,我認爲比較好遠寫成以下最佳實踐這些開源PHP庫雲:

如果你有資源,我會強烈建議你打破這個大文件:把每個類放到它自己的單獨文件中。用單元測試來覆蓋這個庫,以確保你的代碼完成了它的意圖。

編輯

@lsmith微博中分享了一個名爲PHP: The Right Way網站。這可能是您最接近關於最佳做法的單個文檔的最接近的方式。

+1

謝謝,這正是我所期待的。在我選擇最佳答案之前,我會等待更多的答覆,但是你已經有了一個好的答案。 – 2012-07-13 21:11:30