一個PHP框架
為了能更好地理解框架是什么,我們短暫地離開計算機科學世界一會兒,來想像一下登山探險。 開發(fā)一套程序,與攀爬巨石懸崖是非常相似的:你站在地面(你有一個程序正待開發(fā)), 你需要登頂(按設計要求實現(xiàn)并運行良好的程序令人愉悅)。
如果沒有人曾經(jīng)爬過前面提到的山,你將不得不自己解決問題:路線測試、時常原路退回以便不被卡在某個角落, 打入巖錐,等等。對比一下,如果懸崖已經(jīng)被征服,那些曾經(jīng)在你之前做過這些嘗試和努力的人, 開啟了可能的行進路線(框架),并且安裝好了那些利于攀登(你的工作)的工具。
基本上,一個框架包括:
一個工具箱 - 一套預制的、可快速整合的軟件組件。 這意味著你會少寫代碼,減少風險和錯誤。 這也意味著更高的生產(chǎn)力,具備了把更多時間投入到能夠提供更大附加值的事情上的能力, 比如對指導原則的管理、副作用的研究等等。
一套方法論 – 程序的“總裝圖”。初見一套結(jié)構(gòu)化方法會覺得限制很多。但是在現(xiàn)實中, 它卻讓開發(fā)者在面對某個任務的復雜一面時,工作的更高效、更有成效, 運用最佳實踐更確保了你所開發(fā)的程序之穩(wěn)定性、可維護性以及可升級性。
盡管可能已經(jīng)很明顯,我們認為最好還是把它說出來——Symfony是一個PHP框架, 這表示它能夠讓web程序通過PHP構(gòu)建出來!
一套哲學體系
還有什么比讓用戶開發(fā)出一套能夠滿足其需求的程序更有用的? 這就是Symofny的創(chuàng)世之本——源自Sensio Labs的web設計者之想像,web開發(fā)者自應有其權(quán)利。 Symfony被打造成可以讓每一個人基于開源授權(quán)而使用。 這將有利于其他開發(fā)者,那些有能力添加他們自己的模塊來改進框架的人。 所有這些,皆是在程序的最佳實踐(Best Practices)、標準化(standardization)、 可互用(interoperability)的環(huán)境下得以完成。
一個社區(qū)
Symfony的背后是人。我們是SensioLabs的人。 我們創(chuàng)建Symfony以解決自己的web開發(fā)問題,我們樂于推進它。 我們還是由開發(fā)者、用戶以及貢獻者組成的社區(qū),五年來始終陪伴著Symfony。