日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Symfony2中的命名约定

發(fā)布時間:2025/3/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Symfony2中的命名约定 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Symfony2有著很多的命名約定,這一點大家可能在閱讀Symfony2Book中已經(jīng)看到了。那么Symfony2到底有多少命名約定呢,它們的命名約定分別是什么呢?由于Symfony2中不同組件的命名約定各不相同,所以很有必要將各種不同的命名約定都做一個梳理。下面是本人梳理出來的命名約定,如果在以后碰到這里沒有的會再繼續(xù)完善,也歡迎各位兄弟指出丟失的命名約定。

Bundle命名約定

Bundle還是一個PHP名稱空間。該名稱空間必須遵循PHP5.3名稱空間和類名的技術(shù)互操作性標(biāo)準(zhǔn):它由供應(yīng)商段開始,后面接著0或更多的類別段,結(jié)束是名稱空間的簡稱,必須以Bundle后綴結(jié)束。Bundle的類名必須遵循以下幾個簡單的規(guī)則:

  • 只能用字母數(shù)字和下劃線;
  • 使用駝峰命名法;
  • 使用描述性的縮寫名(不多于2個單詞);
  • 名稱的前綴為供應(yīng)商(或可選的類別名稱空間);
  • 名稱必須以Bundle結(jié)尾。

如:

名稱空間Bundle類名
Acme\Bundle\BlogBundleAcmeBlogBundle
Acme\Bundle\Social\BlogBundleAcmeSocialBlogBundle
Acme\BlogBundleAcmeBlogBundle

控制器命名約定

控制器類名必須遵循以下幾個簡單的規(guī)則:

  • 使用駝峰命名法;
  • 名稱必須以Controller結(jié)尾;
  • 其方法必須以Action結(jié)尾;

在路由文件中控制器的命名約定如下:

  • bundle名:控制器類:方法名
  • 例如,在路由中_controller參數(shù)值為AcmeBlogBundle:Blog:show,那么它所代表的是:

    ?

    Bundle名控制器類方法名
    AcmeBlogBundleBlogControllershowAction

    路由命名約定

    路由文件位于app/config/routing.yml,如果要導(dǎo)入其它路由文件,該被導(dǎo)入路由文件的命名約定如下:

  • resource:?"@Bundle類名/Resources/config/routing.yml"?
  • 例如,在路由文件中resource: "@AcmeHelloBundle/Resources/config/routing.yml"語句所代表的是:導(dǎo)入AcmeHelloBundle中的路由文件。

    模板命名約定

    模板的名稱約定如下:

  • bundle:controller:template:這個語法用于特定頁面的特定模板。該字符串被冒號(:)分隔成三個部分,以AcmeBlogBundle:Blog:index.html.twig為例,其含義如下:
    • AcmeBlogBundle(bundle):模板位于AcmeBlogBundle目錄之中(如src/Acme/BlogBundle)
    • Blog(controller):指定模板位于Resources/views目錄中的Blog子目錄下
    • index.html.twig(template):文件名叫index.html.twig
  • 假定AcmeBlogBundle位于src/Acme/BlogBundle目錄,那么布局的最終路徑應(yīng)該是src/Acme/BlogBundle/Resources/views/Blog/index.html.twig bundle::template:這個語法指定了一個Bundle的基本模板。以AcmeBlogBundle::layout.html.twig為例,因為中間部分 “controller”被忽略了(如Blog),模板路徑位于AcmeBlogBundle中的Resources/views /layout.html.twig。 ::template:這個語法指定了一個應(yīng)用程序范圍的模板或布局。注意該字符串由兩個冒號(::)開始,意思是bundle和 controller部分被忽略。這意味著該模板沒有位于任何Bundle之中,因此它應(yīng)該位于app/Resources/views/目錄中。

    翻譯命名約定

    Symfony2可以根據(jù)翻譯文件的命名約定來確定翻譯的細(xì)節(jié)。每個消息文件必須按照domain.locale.loader這種模式命名:

    • domain: 可選,用來按組來組織消息(如admin、navigation或缺省消息),參見使用消息域;
    • locale: 翻譯的語言環(huán)境(如:en_GB、en等)。所謂語言環(huán)境基本上是指用戶語言和國家。它可以是字符串,然后你的應(yīng)用程序可以用它來管理翻譯和其它不同的格式(如貨幣格式)。我們建議使用ISO639-1語言代碼,加上一個下劃線(_),然后再加上ISO3166國家代碼(如:fr_FR對應(yīng)法語/法國);
    • loader: Symfony2如何引導(dǎo)和分析文件(如:xliff、php或yml)。

    事件命名約定

    唯一的事件名可以是任意字符串,但最好能夠遵循一些簡單的命名約定:

    • 只使用小寫字母、數(shù)字、點號(.)和下劃線(_);
    • 名稱空間的前綴后跟點號(如:core.);
    • 名字后面跟動詞,表明采取什么動作(如:request)。

    這里有一些推薦的事件名示例:

    • core.response
    • form.pre_set_data

    本文轉(zhuǎn)自 firehare 51CTO博客,原文鏈接:http://blog.51cto.com/firehare/594498,如需轉(zhuǎn)載請自行聯(lián)系原作者

    總結(jié)

    以上是生活随笔為你收集整理的Symfony2中的命名约定的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。