Domanda

Lo so convenzioni di denominazione per le tabelle utilizzate dai plugin generalmente iniziare con il nome del plugin e poi il modello pluralizzato. Per esempio consente di dire che ho avuto un plugin chiamato sondaggio, con un modello chiamato anche PollPoll e un altro modello chiamato PollTag poi i nomi delle tabelle risultanti sarebbero poll_polls e poll_tags. Avrebbero anche avere un rapporto HABTM quindi qual è la convenzione per quel nome da tavolo? Credo sarebbe poll_poll_polls_poll_tags, anche se è un po 'ridondante ha senso dal primo poll_ rappresenta il nome del plugin, mentre poll_polls e poll_tags riferisce ai modelli.

hanno anche eventuali convenzioni di denominazione cambiato per i plugin in 1.3? È il sopraindicato corretta?

È stato utile?

Soluzione

Non sei sicuro di torta 1.3 (non sto ancora usando), ma questo se hai ragione questo suona come un caso perfettamente accettabile di rompere convenzione e definire il jointable e chiavi esterne nei rapporti modello e possibilmente in il plugin.

Perché il plugin richiede un tavolo di associarsi? Sembra un problema di progettazione. Forse c'è un caso in cui ciò sia necessario, ma se avessi una relazione HABTM con un plugin, vorrei aggiungere una colonna modelname alla tavola del plug-in, piuttosto che dover creare una nuova tabella per ogni modello ho voluto usare il plugin.

Altri suggerimenti

Non è in realtà ancora una convenzione che "tabelle utilizzate dai plugin in genere inizia con il nome del plugin e poi il modello pluralizzata."

L'unico posto viene introdotto questa idea è in un esempio nel libro , che in realtà dice: "si consiglia il nome del tuo controller plug-in qualcosa di relativamente unico, al fine di evitare conflitti di namespace con applicazioni principali ... si potrebbe desiderare di essere creativi con i nomi di controller, o anteporre il nome del plugin per il nome di classe ".

Il tuo tavolo / modello / Controller / Vedi nomi devono seguire le normali convenzioni di denominazione CakePHP, e prendere le precauzioni necessarie per evitare lo scontro namespace. Quindi sarebbe perfettamente bene di avere un tavolo "foo_orders" per un modello "foo_order" nel plug-bar.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top