Hello voici mon questionnement sous CakePHP 2.X, pour respecter les conventions de nommage

Si je décide de préfixer des tables, ici associées à un forum par "forum_" :
Comment nommer correctement les fichiers des modèles et les class ?

3 réponses


Bonsoir.
Donnes nous un peu plus d'informations, comme le nom des tables concernées par exemple.
Sinon, tu as deux possibilités, en prenant par exemple un modèle qui se nommerait Topic, soit Topic.php :

  • Définir le prefixe de la table : public $tablePrefix = 'forum_';
  • Définir le nom de la table : public $useTable = 'forum_topics;

Merci beaucoup Lartak.

Les tables sont le classique d'un forum (forums, categories, topics, messages, ...)
Mon problème est celui-ci : J'aimerai nommer les fichiers de modèle de façon explicite pour les repérer visuellement (exemple : le fichier modèle "category.php" est aujourd'hui lié aux articles, J'aimerai donc avoir un nom de fichier plutôt ForumCategory.php et un nom de modèle ForumCategory.

Jusque là je ne trouve pas de souci particulier, sauf que les conventions de nommages CakePhp sont bien pratiques pour les tables de liaison.

Et si j'ai une table de liaison à créer (par exemple id, topics_id, user_id, created) entre un modèle ForumTopic par exemple et User, ça va me donner quoi comme nom de modèle ? "ForumTopicUser" ? Ma crainte est que ça pose des soucis à Cake.

Pour les associations de type HasAndBelongsToMany (HABTM), il n'est pas nécessaire de créer un modèle particulier, les associations tu les définies dans les modèles correspondants.
Par contre, je ne vois pas pourquoi tu veux faire une table de liaison HABTM pour les topics et les users, tu peux prendre exemple, sur le tutoriel Système de sujets lus / non lus, dans lequel Grafikart propose une structure pour les tables d'un forum et dans lequel il a même donné les associations à faire, soit :

  • Une table categories pour organiser nos différents forums (hasMany Forum)
  • une table forums (hasMany Topic, belongsTo Forum)
  • une table topics (hasMany Message, belongsTo Forum, belongsTo User)
  • une table messages qui contiendra les messages de notre forum (belongsTo Topic, belongsTo User)
  • L'incontournable table users pour sauvegarder les utilisateurs.