Frage

Ich weiß, Namenskonventionen für die von Plugins verwendet Tabellen im Allgemeinen mit dem Namen des Plug-ins starten und dann das Modell pluralized. Zum Beispiel können sagen, dass ich ein Plugin hatte Umfrage genannt, mit einem Modell auch PollPoll und ein anderes Modell namens PollTag dann die resultierenden Tabellennamen poll_polls und poll_tags würde genannt werden. Sie müßten auch eine HABTM Beziehung so was ist die Konvention für die Tabellennamen? Ich glaube, es würde poll_poll_polls_poll_tags, obwohl es ein wenig redundant ist es sinnvoll, da die erste poll_ den Namen des Plugins darstellt, während poll_polls und poll_tags auf die Modelle betreffen.

auch jede Namenskonventionen für Plugins in 1.3 geändert? Ist die oben genannten korrekt?

War es hilfreich?

Lösung

Nicht sicher Kuchen 1.3 (Ich verwende es noch nicht), aber das, wenn du hast recht, das klingt wie ein durchaus akzeptabel Fall der Konvention zu brechen und die Definition die jointable und Fremdschlüssel in den Modellbeziehungen und möglicherweise in das Plugin.

Warum Ihr Plugin eine Join-Tabelle benötigen? Scheint wie ein Design-Problem. Vielleicht gibt es einen Fall, in dem dies erforderlich ist, aber wenn ich eine HABTM Beziehung mit einem Plugin hätte, würde ich eine modelname Spalte der Tabelle des Plugin hinzufügen, anstatt müssen eine neue Tabelle ich das Plugin verwenden wollte für jedes Modell erstellen.

Andere Tipps

Es ist eigentlich noch nicht eine Konvention, dass „Tabellen, die von Plugins verwendeten im Allgemeinen mit dem Namen des Plug-In beginnen und dann pluralized das Modell.“

Der einzige Ort, dass Idee eingeführt wird, ist in ein Beispiel in dem Buch tatsächlich sagen, die „es wird empfohlen, dass Sie Ihre Plugin-Controller etwas relativ einzigartig zu vermeiden, um Namespace-Konflikte mit Eltern Anwendungen nennen ... Sie könnten mit Controller-Namen, kreativ sein mögen, oder den Namen des Plug-in auf die Klassennamen voranstellen . "

Ihre Tabelle / Modell / Controller / Namen anzeigen müssen normale CakePHP Namenskonventionen folgen, und nehmen angemessene Vorsichtsmaßnahmen zu vermeiden Namespace Zusammenstoß. So ist es völlig in Ordnung, eine „foo_orders“ Tabelle für ein „foo_order“ -Modell in der Plugin-Bar zu haben wäre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top