新(xīn)聞動态

Symfony技(jì )術的6大亮點

日期:2017-08-31 文(wén)章來源:亮點

1. 快速不貪多(duō)

在IT世界,人們苦于程序性能(néng)的時候并不少見……當項目完成之後就更是如此! 也就是,在所有(yǒu)東西被設計成追求功能(néng)性和技(jì )術性之時。就算你已經分(fēn)離出一切,性能(néng)優化仍非易事。

另外一面,Symfony2在構想階段即以速度為(wèi)先,特别強調性能(néng)。 比較來說,Symfony2差不多(duō)比Symfony1.4以及Zend Framework 1.10快3倍,卻少使用(yòng)了2倍的内存。

2. 無限靈活性

不管你的需求是什麽,Symfony一定适合。 它的dependency injector和Event Dispatcher令框架“全部可(kě)配”, 程序的每一塊磚都是完全獨立的。一個“三合一”框架歸為(wèi)以下幾點:

全功能(néng)(完整版):你願意開發複雜程序,你需要大量功能(néng)。

磚碼磚(brick by brick):根據你需要的功能(néng),創建屬于自己的框架。

微框架:作(zuò)為(wèi)獨立物(wù),Symfony2能(néng)夠為(wèi)你的某個項目開發出一個特定功能(néng)。 不必重複開發每樣東西,不必安(ān)裝(zhuāng)整個框架,隻需取出你所需要的那塊磚。

3. 可(kě)擴展

從最小(xiǎo)的磚塊,到完整的核心,每樣東西都是以“bundle”(或者用(yòng)Symfony的話說:plug-in)方式來呈現在Symfony2中(zhōng)。 每個bundle意在為(wèi)框架增加功能(néng)性,當然,每個bundle也可(kě)以複用(yòng)在其他(tā)項目中(zhōng),或者被整個社區(qū)所共享。

從任何角度講,bundle系統都可(kě)以改變Symfony中(zhōng)的每一樣東西,包括框架核心自身。 以系統級接口作(zuò)為(wèi)磚塊之間的契約,框架的行為(wèi)即可(kě)按照意志(zhì)來改變,毋須全面地重新(xīn)配置。

4. 穩定且可(kě)持續

SensioLabs主導開發的Symfony,主要版本統統被公(gōng)司支持長(cháng)達三年。而對于安(ān)全相關的問題甚至可(kě)以說是終身受到維護。

對于更加堅固的穩定性,Symfony合約和接口的微版本号(minor versions)都是得到保證的, 全部微版本之間的兼容性是在公(gōng)共接口所定義的API中(zhōng)加以确保的。

5. 開發之樂

作(zuò)為(wèi)一個全功能(néng)的環境,Symfony2向開發者保證了一定級别的開發舒适度。 大量苦差(如細碎功能(néng))已經交由框架處理(lǐ),Symfony2令開發者集中(zhōng)精(jīng)力到程序的真正價值所在, 以及他(tā)們的全般角色校驗和生産(chǎn)力提高上面。

在Symfony那些意在減輕開發者負擔的工(gōng)具(jù)中(zhōng),既有(yǒu)傳奇般的Web Debug Toolbar(web除錯工(gōng)具(jù)條), 也有(yǒu)原生的對開發evironments的支持,連同詳盡的報錯信息頁(yè)面,乃至原生security信息等。

6. 易于使用(yòng)

完全徹底的靈活,滿足了專業開發者和高級用(yòng)戶的需求,但Symfony2仍舊是完全可(kě)控的。 海量文(wén)檔、社區(qū)和專業支持, 連同框架内置好了的“最佳實踐”——best practice早已與框架融為(wèi)一體(tǐ),又(yòu)何須刻意關注和理(lǐ)解它們呢(ne)? ——即便是初學(xué)者也可(kě)以感受到Symfony之“易”。