如何選擇 PHP 架構?
阿恆
若果說每隔幾天便有一個新的 PHP 的開發架構推出,一點也不誇張,網上也有不少討論哪些架構「最好」,哪些最受「歡迎」之類的文章,但是對於如何選擇一個合適你的架構卻鮮少論及,針對這個問題 Marz 提出了他的見解。
Marz 說:「單是在 dmoz 便已經列出了 46 個 PHP 的開發架構,這還未計算知名的 ezComponents、ZendFramework、Solar、Symfony、Code Igniter 等,如何選擇的確是一個很有挑戰性的問題,尤其是當你正要開始一個新的專案,每一個架構都有它的優點缺點,你有多少時間逐一評估?你需要一些快速的準則來做決定。」
Marz 列出了五項簡易的評估準則:
這個架構有良好的說明文件嗎?
Marz 認為說明文件是所有開源軟件不可或缺的部份,PHP 開發架構也不例外,想像一下要不是 PHP 有那麼優良的說明文件,PHP 能有今天的景況嗎?PEAR 的其中一個弱點就是很多套裝軟件只有自動生成的 API 文件,忽略了用戶─即開發人員─的需要。除此以外一個開發架構還需要大量的程式片斷和範例,使人們可以快速上手。參考連結:Zend Framework 說明文件、eZ Component 說明文件、Symfony 說明文件。
這個架構有強大的社區支援嗎?
一個沒有人使用的架構是毫無用處的,所以說到底還是社會公眾決定哪一個架構最合適,開始的時候你未必立即看得出某一個架構是否被廣泛使用,但是你可以透過觀察它的更新記錄、發放週期和以社區為基礎的說明文件來得到一點線索,還有要看看社區參予開發的程度,究竟誰可以向開發者建議補丁?沒有人?一些人?任何人?
這個架構背後是否有一件知名的公司支持?
Marz 認為得到大公司如 Zend 或者 eZ 支持的架構比那些只由一個人開發的架構擁有競爭上的優勢,大公司比孤獨的開發者可以動員較大的市場力量和接觸較多客戶,這個世界當然有例外,但是在其他條件相同的情況下這是一個很值得考慮的因素。
這個架構有一個可接受的使用執照嗎?
你喜歡 MIT、BSD、LGPL 等的使用執照嗎?在任何情況下開發架構的使用執照都必須配合你的經營策略。
這個架構配合你的資訊科技環境嗎?
例如,若果你正在使用 PHP4 的話,你可以選擇的架構會比 PHP5 的用戶少;你的數據庫也會影響你的決定;你是否正在使用數據庫抽象層?那一個架構比較接近你正在使用的套裝軟件從而有助減低你的學習和適應期?若果你打算投資於培訓課程的話,市場上有些甚麼選擇?