新聞動态

Symfony技術的6大(dà)亮(liàng)點

日期:2017-08-31 文(wén)章來(lái)源:亮(liàng)點

1. 快(kuài)速不貪多

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

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

2. 無限靈活性

不管你(nǐ)的需求是什(shén)麽,Symfony一定适合。 它的dependency injector和(hé)Event Dispatcher令框架“全部可配”, 程序的每一塊磚都是完全獨立的。一個“三合一”框架歸爲以下(xià)幾點:

全功能(néng)(完整版):你(nǐ)願意開(kāi)發複雜(zá)程序,你(nǐ)需要大(dà)量功能(néng)。

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

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

3. 可擴展

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

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

4. 穩定且可持續

SensioLabs主導開(kāi)發的Symfony,主要版本統統被公司支持長達三年。而對(duì)于安全相關的問題甚至可以說是終身受到(dào)維護。

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

5. 開(kāi)發之樂

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

在Symfony那些(xiē)意在減輕開(kāi)發者負擔的工(gōng)具中,既有傳奇般的Web Debug Toolbar(web除錯工(gōng)具條), 也(yě)有原生的對(duì)開(kāi)發evironments的支持,連同詳盡的報(bào)錯信息頁面,乃至原生security信息等。

6. 易于使用(yòng)

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