Conventions

  Pour garder une organisation à long terme

Le fonctionnement de SPIP du moins dans la mise-en-œuvre de l’interface publique, comme pour la gestion des boucles dans les squelettes, repose sur plusieurs conventions de nommage, qui s’appliquent principalement aux CSS et squelettes.

Mais nous verrons ultérieurement comment cela peut aussi interférer avec des facilités de jointure automatique ou de tabulation automatisée.

Les notions evoquées ci-après pourront souvent paraitre totalement absconses, mais respecter dès le début ces principes pourra à terme beaucoup faciliter les évolutions de votre site, aussi me semble-t-il intéressant d’en proposer une synthèse ci-dessous.

Article publié le 23 janvier 2012, et actualisé en février 2019


 Tables et Champs

Les noms de tables utilisés dans les boucles correspondent au nom des tables de la base de donnée (qu’elle soit MySQL, PostgreSQL, SQLite ou autre, SPIP ayant l’ambition d’etre multi-bases).
L’habitude qui sert de convention dénomme chaque table objet avec un nom français mis au pluriel, un identifieur unique (souvent en AUTO-INCREMENT) de même nom au singulier, préfixé par id_
référence(s) à retrouver !.

La syntaxe standard de SPIP utilisait le nom symbolique au pluriel, nom de l’entité mis en MAJUSCULES et donné sans préfixe [1] : pour les tables natives de SPIP les fonctions internes se chargeront de rajouter le préfixe.

Pour utiliser une table externe (non déclarée à SPIP), vous indiquerez son nom complet en minuscules, y compris l’éventuel prefix que vous devrez gérer à la main "en dur" dans vos squelettes.

Et si votre table est dans une base autre que celle de SPIP, vous devrez en plus :
- déclarer un fichier de connexion supplémentaire (avec noms de base de données et d’ordinateur hôte, login et mot de passe de cette base, et type du moteur de SGBD) dans un fichier de connexion distinct : cela est même automatisé dans SPIP 3.
- utiliser ce nom de fichier de connexion comme radical au nom physique de vos tables dans les instructions de boucle dans vos squelettes.
Le tout en respectant simplement la syntaxe SPIP habituelle.

Dans tous les cas, vous pouvez ensuite rédiger vos squelettes de la façon habituelle :
- utiliser directement les champs par leur nom, mis en majuscules et précédés d’un dièse (#CHAMP_DANS_TABLE) pour obtenir l’affichage de la valeur d’occurrence.
- utiliser pareillement le nom de champ en minuscules dans un critère de sélection..


 Pour comprendre les sources de ces conventions

- la gestion des thèmes et des squelettes
- la gestion des jointures automatiques : https://programmer.spip.net/-Liaiso...
- la gestion des noms de tables et objets
- qu’ai-je oublié ?


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Mais il semble désormais que, si vous déclarez plusieurs tables pour forcer SPIP 3 à générer les jointures, vous devrez écrire en minuscules les noms (symboliques ou physiques) des tables suivant la première, voire y compris la première cf.https://www.spip.net/4254 !


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 23 janvier 2012, et actualisé en février 2019 .

Répondre à cet article