Question

Je sais que les conventions de nommage pour les tables utilisées par les plug-ins commencent généralement par le nom du plug-in, puis le modèle pluralisé. Par exemple permet de dire que j'avais un plugin appelé sondage, avec un modèle aussi appelé PollPoll et un autre modèle appelé PollTag alors les noms de table résultant seraient poll_polls et poll_tags. Ils ont aussi une relation HABTM donc ce qui est de la convention pour ce nom de table? Je crois qu'il serait poll_poll_polls_poll_tags, bien qu'il soit un peu redondant, il est logique puisque le premier poll_ représente le nom du plug-in, tandis que poll_polls et poll_tags se rapporte aux modèles.

ont également des conventions de nommage pour les plugins modifiés en 1.3? Est-ce ce qui précède dit correcte?

Était-ce utile?

La solution

Pas sûr gâteau 1.3 (je ne l'utilise pas encore), mais si vous avez raison cela ressemble à un cas tout à fait acceptable de rompre la convention et la définition de la joinTable et les clés étrangères dans les relations de modèle et peut-être en le plug-in.

Pourquoi votre plugin nécessite une table de jointure? On dirait un problème de conception. Peut-être il y a un cas où cela est nécessaire, mais si j'avais une relation HABTM avec un plug-in, j'ajouter une colonne modelname à la table du plug-in, plutôt que d'avoir à créer une nouvelle table pour chaque modèle que je voulais utiliser le plug-in.

Autres conseils

Il est en fait pas encore une convention qui « tables utilisées par les plug-ins commencent généralement avec le nom du plug-in, puis le modèle pluralisé. »

Le seul endroit cette idée est introduite est dans un exemple dans le livre , qui dit en fait, « il est recommandé de nommer les contrôleurs de plug-ins quelque chose pour relativement unique pour éviter les conflits d'espace de noms avec les applications parent ... vous voudrez peut-être créatif avec les noms de contrôleur ou préfixer le nom du plug-in à l'classname ».

Votre table / modèle / contrôleur / Afficher les noms doivent suivre les conventions de nommage CakePHP normales et prendre des précautions raisonnables pour éviter de choc namespace. Il serait donc parfaitement bien d'avoir une table « foo_orders » pour un modèle « foo_order » dans le plugin Bar.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top