Heim >Backend-Entwicklung >PHP-Tutorial >Sollte der Paketname immer den Namen des Anbieters enthalten?

Sollte der Paketname immer den Namen des Anbieters enthalten?

WBOY
WBOYOriginal
2016-08-18 09:15:351507Durchsuche

In Symfony3 fragt die Konsole beim Ausführen von php bin/console generate:bundle zum Erstellen eines Bundles, ob das zu erstellende Bundle in Zukunft geteilt werden soll.

Wenn Sie no auswählen, sieht das Verzeichnis nach der Erstellung wie folgt aus: src/UserBundle. Wenn Sie yes auswählen, müssen Sie den Namen des Anbieters hinzufügen. Nach der Erstellung sieht das Verzeichnis wie folgt aus: src/XX/UserBundle

Bei der Erstellung ist jedoch möglicherweise kein Freigabeplan vorhanden. Wenn Sie in Zukunft eine Freigabe planen, müssen Sie die Datei namespace und die entsprechende Konfigurationsdatei neu organisieren.

Sollte der Anbietername bei der Erstellung des Bundles immer angegeben werden?

Zum Beispiel src/XX/UserBundle oder src/XX/Bundle/UserBundle

Der Nebeneffekt davon ist, dass Sie, wenn Sie das aktuelle Bundle nicht teilen, ein zusätzliches namespace im Quellcode der Anwendung haben. Oder es gibt ein zusätzliches Präfix bei der Definition von service und route, z. B. xx_user.user_manager

Dadurch müssen Sie sich bei der künftigen Freigabe des aktuellen Pakets keine Gedanken mehr über die Änderung der Verzeichnisstruktur, des Namespace, der Route und des Service-Namespace machen.

Was denkst du?

Antwortinhalt:

In Symfony3 fragt die Konsole beim Ausführen von php bin/console generate:bundle zum Erstellen eines Bundles, ob das zu erstellende Bundle in Zukunft geteilt werden soll.

Wenn Sie no auswählen, sieht das Verzeichnis nach der Erstellung wie folgt aus: src/UserBundle. Wenn Sie yes auswählen, müssen Sie den Namen des Anbieters hinzufügen. Nach der Erstellung sieht das Verzeichnis wie folgt aus: src/XX/UserBundle

Bei der Erstellung ist jedoch möglicherweise kein Freigabeplan vorhanden. Wenn Sie in Zukunft eine Freigabe planen, müssen Sie die Datei namespace und die entsprechende Konfigurationsdatei neu organisieren.

Sollte der Anbietername bei der Erstellung des Bundles immer angegeben werden?

Zum Beispiel src/XX/UserBundle oder src/XX/Bundle/UserBundle

Der Nebeneffekt davon ist, dass Sie, wenn Sie das aktuelle Bundle nicht teilen, ein zusätzliches namespace im Quellcode der Anwendung haben. Oder es gibt ein zusätzliches Präfix bei der Definition von service und route, z. B. xx_user.user_manager

Dadurch müssen Sie sich bei der künftigen Freigabe des aktuellen Pakets keine Gedanken mehr über die Änderung der Verzeichnisstruktur, des Namespace, der Route und des Service-Namespace machen.

Was denkst du?

Warum VendorName?

VendorName dient dazu, den Konflikt desselben BundleNamens verschiedener Anbieter zu vermeiden. Einfach ausgedrückt: Wenn zwei Anbieter, Foo und Bar, ein UserBundle erstellen müssen, tritt ein Konflikt auf VendorName wird nicht hinzugefügt. Nicht schwer zu verstehen, oder?

Wann sollte VendorName enthalten sein?

Wenn Ihr Bundle nur im aktuellen Projekt und nicht als gemeinsam genutztes Drittanbieter-Bundle verwendet wird (muss normalerweise als Composer-Paket veröffentlicht werden), ist VendorName nicht erforderlich, andernfalls ist VendorName erforderlich.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn