首頁 >後端開發 >PHP問題 >Symfony特色有哪些?

Symfony特色有哪些?

coldplay.xixi
coldplay.xixi原創
2020-07-01 10:45:442321瀏覽

Symfony特點有:1、URI辨識支援Reg檢測,讓url能定義的隨心所欲;2、Twig模板非常適合處理複雜網站結構,頁面結構的語法;3、composer套件管理讓程式碼的依賴關係變得很清晰;4、路由能限制hostname。

Symfony特色有哪些?

Symfony特點有:

主要是提高了程式碼的抽象層級。相對於簡單的,直接暴露底層概念的 PHP 語言,Symfony 提供了一套解決特定工程問題的概念和工具,幫助廣大的 Coder 的減少重複性工作。抽象化意味著能用更簡潔的東西表達複雜的概念,流程等。

Symfony的一些介紹:

1、路由:能限制hostname,這就讓有大量公共功能的網站可以共用一套程式碼;URI 識別支援Reg檢測,讓url 能定義的隨心所欲;支援前綴,import,便於模組化。

2、Twig模板:這是我最喜歡的一個元件。它提供了一套不同於 php,但非常適合處理複雜網站結構,頁面結構的語法。 extension 很方便也很強大,通用的操作透過extension 能很好的表達,例如需要快取頁面的某個模組到redis ,寫一個ViewExtension,就能在模板裡面用一個方法來緩存特定模組了,非常方便,程式碼也很容易管理。

3、composer套件管理:讓程式碼的依賴關係變得很清晰。而且現在第三方有很多不錯的 bundle,像是抽象 redis 的 snc/redis-bundle,處理圖片的 liip/imagine-bundle,第三方登入的 hwi/oauth-bundle 等等等等。隨著自己專案的逐漸成熟,也可以把專案對 Symfony 的客製獨立出來用 composer 來管理,感覺挺不錯的。

4、Event,Listener 和 Services:非常方便的全域功能處理。惹人討厭的是配置起來很麻煩,我用的是 yml 配置文件,為了找對路的語法真是掉了一層皮。

5、Doctrine ORM:一個好處是不用去糾結於資料庫的細節,而只需仔細的設計需要持久化的物件。物件之間的關係可以自由設計,從生成資料庫結構到產生查詢語句的過程都不用再操心了。另一個好處是查詢的時候,可以不用 sql,dql 這種依賴字串來表達的查詢,而採用物件式,sql 因為是單純的字串,整個查詢邏輯的控制用程式碼表達起來很麻煩。

6、Form元件:Symfony 提供了 form 生成,提dao交以及驗證的功能。元件抽象化了三個方面的東西:formType 來維護需要填寫保存的值,formTheme 來定義表單的 html 結構,以及 validation 提供資料驗證的功能。這個元件的缺點也很明顯,概念太複雜了,如果遇到要自己定義一個 field,簡直就是自找麻煩。

7、效能:Symfony 提供了一個極好的元件叫profile,能以圖形化的形式顯示各個部分程式碼執行的時間,消耗的內存,還有資料庫查詢的語句,查詢的行數,用到的索引的。配合這個工具來優化程式碼,可以讓網站跑得很快。

相關學習推薦:PHP程式設計從入門到精通

#

以上是Symfony特色有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn