ホームページ  >  記事  >  バックエンド開発  >  バンドル名には常にベンダー名を含める必要がありますか?

バンドル名には常にベンダー名を含める必要がありますか?

WBOY
WBOYオリジナル
2016-08-18 09:15:351480ブラウズ

バンドルを作成するとき、Symfony3 当执行 php bin/console generate:bundle、コンソールは、作成するバンドルが今後共有されるかどうかを尋ねます。

選択した場合no,则 bundle 创建后目录如 src/UserBundle ,如果选择 yes ,则需要增加 vendor name,创建后如 src/XX/UserBundle

ただし、作成中に共有計画がない可能性があります。将来共有する予定がある場合は、ファイル namespace と対応する設定ファイルを再編成する必要があります。

それでは、バンドルの作成時に常にベンダー名を含める必要がありますか?

例えばsrc/XX/UserBundle 或者 src/XX/Bundle/UserBundle

この副作用として、現在のバンドルを共有しない場合、アプリケーションのソース コードに余分な namespace。或者定义 serviceroute 时多了一个前缀,如xx_user.user_manager が含まれることになります。または、serviceroute を定義するときに、xx_user.user_manager などの追加のプレフィックスがあります

これにより、将来現在のバンドルを共有するときに、ディレクトリ構造、名前空間、ルート、およびサービスの名前空間の問題を変更することを心配する必要がなくなります。

どう思いますか?

返信内容:

バンドルを作成するとき、Symfony3 当执行 php bin/console generate:bundle、コンソールは、作成するバンドルが今後共有されるかどうかを尋ねます。

選択した場合no,则 bundle 创建后目录如 src/UserBundle ,如果选择 yes ,则需要增加 vendor name,创建后如 src/XX/UserBundle

ただし、作成中に共有計画がない可能性があります。将来共有する予定がある場合は、ファイル namespace と対応する設定ファイルを再編成する必要があります。

それでは、バンドルの作成時に常にベンダー名を含める必要がありますか?

例えばsrc/XX/UserBundle 或者 src/XX/Bundle/UserBundle

この副作用として、現在のバンドルを共有しない場合、アプリケーションのソース コードに余分な namespace。或者定义 serviceroute 时多了一个前缀,如xx_user.user_manager が含まれることになります。または、serviceroute を定義するときに、xx_user.user_manager などの追加のプレフィックスがあります

これにより、将来現在のバンドルを共有するときに、ディレクトリ構造、名前空間、ルート、およびサービスの名前空間の問題を変更することを心配する必要がなくなります。

どう思いますか?

なぜベンダー名なのか?

VendorName は、異なる Vendor の同じ BundleName の競合を避けるためです。たとえば、Foo と Bar の 2 つの Vendor が UserBundle を作成する必要があるため、vendorName を追加しないと競合してしまいます。これは難しくありませんか?

どのような状況でvendorNameを含める必要がありますか?

バンドルが共有サードパーティ バンドルとしてではなく、現在のプロジェクトでのみ使用されている場合 (通常はコンポーザー パッケージとして公開する必要があります)、vendorName は必要ありません。それ以外の場合は、vendorName が必要です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。