首頁  >  文章  >  後端開發  >  bundle name是否該永遠包含 vendor name?

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

WBOY
WBOY原創
2016-08-18 09:15:351486瀏覽

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。或定義

service

route 時多了一個前綴,如xx_user.user_manager 這樣可以免去後顧之憂,不用擔心以後共享當前 bundle 時,需要更改目錄結構,namespace 以及 route 和 service 的命名空間問題。 有什麼看法嗎?

為什麼要 vendorName ?

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

什麼情況下應該包含 vendorName ?

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

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