bundle name是否該永遠包含 vendor name?

來源:互聯網
上載者:User
Symfony3 當執行 php bin/console generate:bundle 建立 bundle 時候,控制台會詢問是否會在未來把將要建立的 bundle 共用。

如果選擇 no,則 bundle 建立後目錄如 src/UserBundle ,如果選擇 yes ,則需要增加 vendor name,建立後如 src/XX/UserBundle

然而在建立期間也許沒有共用計劃,那麼以後如果有共用的打算,則需要重新組織檔案 namespace 和相應的設定檔。

那麼是否應該在 bundle 建立時始終包含 vendor name?

比如 src/XX/UserBundle 或者 src/XX/Bundle/UserBundle

這樣帶來的副作用是,當你不準備共用當前 bundle 時,你在應用程式原始碼中多了一個 namespace。或者定義 serviceroute 時多了一個首碼,如xx_user.user_manager

這樣可以免去後顧之憂,不用擔心以後共用當前 bundle 時,需要更改目錄結構,namespace 以及 route 和 service 的命名空間問題。

有什麼看法嗎?

回複內容:

Symfony3 當執行 php bin/console generate:bundle 建立 bundle 時候,控制台會詢問是否會在未來把將要建立的 bundle 共用。

如果選擇 no,則 bundle 建立後目錄如 src/UserBundle ,如果選擇 yes ,則需要增加 vendor name,建立後如 src/XX/UserBundle

然而在建立期間也許沒有共用計劃,那麼以後如果有共用的打算,則需要重新組織檔案 namespace 和相應的設定檔。

那麼是否應該在 bundle 建立時始終包含 vendor name?

比如 src/XX/UserBundle 或者 src/XX/Bundle/UserBundle

這樣帶來的副作用是,當你不準備共用當前 bundle 時,你在應用程式原始碼中多了一個 namespace。或者定義 serviceroute 時多了一個首碼,如xx_user.user_manager

這樣可以免去後顧之憂,不用擔心以後共用當前 bundle 時,需要更改目錄結構,namespace 以及 route 和 service 的命名空間問題。

有什麼看法嗎?

為什麼要 vendorName ?

VendorName 是為了避免不同 Vendor 的相同 bundleName 的衝突,簡單來說就是為了避免命名衝突,比如 Foo 和 Bar 兩個 Vendor 都要建立一個 UserBundle,那麼可果不加 vendorName 就會產生衝突,這相不難理解吧?

什麼情況下應該包含 vendorName ?

如果你的 bundle 只在當前項目中使用,而不是作為共用的第三方 bundle(一般需要發布成 composer package),那麼可以不需要 vendorName,反之則需要加上 venderName。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.