Bonjour,

Je débute en cakephp. Et je commence par la version 3.
J'aurais voulu savoir si il était possible de mettre des noms de table en français ou c'est forcément en anglais car les convention de Cake l'exige ?

Merci pour vos réponses.

9 réponses


Salut,

Tu peux les mettres en anglais pour que Cake fasse le lien automatiquement entre tes tables et le controller.
Après, libre à toi de choisir le nom de tes tables, tu as dans la méthode "initialize()" : http://book.cakephp.org/3.0/fr/orm/table-objects.html#utilisation-basique qui te permet de spécifier la table que tu veux utiliser ;)

Je te laisse voir la doc :)

bugland
Auteur

Donc il est possible de les mettre en francais ? Et cela gène pas pour la plurialisation ? Merci pour le lien de la doc.

Tout à fait possible en français. Mais attention, la conversion singulier -> pluriel est différente en français. Voilà un petit outil pour tester :
http://inflector.cakephp.org/

bugland
Auteur

Merci beaucoup pour cette outils.

Bonsoir.

J'aurais voulu savoir si il était possible de mettre des noms de table en français ou c'est forcément en anglais car les convention de Cake l'églige ?

Je te recommande fortement de suivre le plus possible les conventions de CakePHP, cela te permettra un grand gain de temps.

Je suis du même avis que @Lartak, je te recommande également de suivre les conventions de Cake3 le plus possible, ceci t'éviteras bien des ennuies par la suite. Surtout que tu démarre un nouveau projet et donc tu n'a presque aucune raison de pas suivre cette convention de nommage des tables en anglais et au pluriels.

et je rajouterais que dàs le monde de l'informatique tout est en anglais et donc si jamais un autre dev devrais pour x raison reprendre ton code le fait de l'avoir en anglais l'aideras beaucoup et pour le find list de cake c'est obligatoire

pour le find list de cake c'est obligatoire

Ne dis pas de bétise, ce n'est pas obligatoire, surtout qu'il demande pour les noms de tables et non de champs, et puis il est possible de le définir, soit dans le ModelsTables avec :

$this->primaryKey('id');
$this->displayField('username');

ou directement dans le find('list') :

$users = $this->Users->find('list', [
    'keyField' => 'id', 'valueField' => 'username'
]);

Donc, dire que c'est obligatoire, n'est pas correct, mais suivre un maximum les conventions de CakePHP, permet d'éviter des définitions supplémentaires.

@Lartak, exacte, j'avais pas la même vision que toi, lorsque je dit obligatoire c'est pour insister sur le fait que n'essaie pas de mette tes tables en français, à la base un framework c'est pour aller plus vite Cake introduit de nombreuse conventions qui sont chiantes oui ! Mais elles te permettent de dev en un temps record, donc" plus tu suit plus tu iras plus ou moins vite et plus sa seras simple", et puis l'anglais n'est pas difficile !