我真的應該投票結束這個 - 它既太寬泛,主要是基於意見。
如果要使用Java,C或C#開發基於Web的應用程序,那麼框架就非常重要。但對於PHP來說,這是一個非常不同的故事 - 您將從一種專門設計的語言開始,該語言提供來自單個供應商的豐富工具庫。此外,如果您在Linux平臺上開發,那麼開發工具和平臺都將由補丁管理提供商。只要您開始添加第三方組件,問題就會變成much more complicated。
對於似乎理由,開源項目似乎茁壯成長,做好時,要求他們頻繁的發佈。對於商業軟件來說,定期發佈對產生收入來源非常重要當一個產品完成開發時,它似乎在市場上完成。考慮磅與haproxy。
IME代碼的質量,你可以從互聯網上下載良莠不齊。可悲的人氣並不總是等同於質量(但價格也沒什麼關係)。通常,程序員過於關注提供功能以考慮安全性,性能和可伸縮性。事實上,似乎有一種觀點認爲,在框架中增加更多的功能使其比其他產品更具優勢(更多功能=更復雜=更多錯誤=安全性更低+難以修復)。
具體到PHP框架的問題是最求將所有的東西給所有的人(更復雜) - 提供會話抽象,模板,數據庫抽象,模板,路徑...有高度集中工具的一些例外(如smarty用於模板化,元數據庫或用於數據庫抽象的AdoDB,用於與DOM交互的jQuery),它們專注於做一件事並做得很好。
一旦你開始添加第三方的代碼到你的系統,你需要確保確保代碼的方法是最新的 - 但成本是鋒線 - 加入第二,第三,第四......包有很多(比如,假設你確實在採購和部署管理方面採取了適當的流程)。使用作曲家有助於解決基本問題(但還有很長的路要走)。
是的,你會遇到,其他人都寫解決方案的問題。使用(良好)框架或庫可能會在項目的早期階段節省成本(一旦處理了讓開發團隊加速的問題)。
這些框架都已經組織好,這意味着它可能很難做任何我們想和他們
我建議,如果他們有良好的組織,應該更容易爲你做任何你想和他們一起!
但周圍有SO一看 - 經常被人張貼問題問我怎麼辦XYZ使用CakePHP /隼/笨/ Laravel。在大多數情況下,他們所要求的將會更容易地執行,而不是通過框架執行而不是通過。
我可以繼續,但是這個回覆已經太長了。
沒有回答你的問題。如果有這將取決於很多其他因素,如可用的技能,風險偏好,預算....
如果你決定使用一個框架(或框架),那麼請考慮構建圍繞微服務系統和(如果可行)避免使用框架前端控制器。如果你需要重新設計它,這將減少你對框架的依賴。