Comment faire un code PHP « propre » ?

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour les agrumes !

Ça fait des années que je programme (ou plutôt) bricole en PHP. D’après mes archives, plus de 10 ans. Avec le temps, j’ai pris des habitudes de vieux, mais pas forcément clean.

Mes scripts adoptent cette structure, souvent monofichier : Include vers un ou des fichiers fonctions Une partie de code en HTML (head, menu etc) mon code PHP, avec un switch pour les différentes « pages » la fin du code HTML

C’est pas forcément très clean. Je voulais connaître vos tuyaux pour rendre ça plus maintenable.

Bonne journée :-)

La tero estas nur unu lando | Géographe de service | Cliquez 👍 pour dire merci

+0 -0

Cette réponse a aidé l’auteur du sujet

Tout dépend du projet, mais généralement un design pattern adapté sera à privilégier.

En PHP le plus courant est le MVC qui est utilisé par la plupart des frameworks.

Tu auras d’un côté tes models, qui représentent tes données brutes et communiquent avec la BDD.
Ensuite les controllers vont traiter les données pour les récupérer ou les modifier.
Puis les vues vont permettre d’afficher ce que tu veux.

Je t’invite à aller voir comment les principaux frameworks (comme Laravel qui est à la mode en ce moment) s’en sortent pour organiser le code ;)

Mes tutos — Architecte technique : JS/Node/Angular/Mongo, PHP/MySQL, AWS — Consultant qualité, ergonomie et UX

+1 -0

En utilisant un framework ou en imitant la structure d’un framework.

Pas besoin d’utiliser un gros framework lourd avec des fonctionnalités dont tu te passes très bien aujourd’hui, si tu n’as pas l’habitude. Un « micro framework » ferra l’affaire si c’est juste pour mieux structurer et organiser tes applications.

+0 -0

Cette réponse a aidé l’auteur du sujet

Hello,

Pour faire du code propre en PHP c’est comme tous les langages, il faut utiliser les bons patterns etc. Il y a beaucoup de choses à dire…

Mais une bonne base c’est peut être ce livre: clean php

Note: ce livre vend un peu du rêve avec son titre mais en réalité c’est plutôt sur les basics de comment bien coder en php

Pour faire un TL;DR :

  1. Utiliser les namespaces
  2. Utiliser composer
  3. Utiliser les design pattern
  4. Utiliser SOLID

Édité par Nek

+0 -0

En dehors de ce qui est propre à PHP, je peux peut-être conseiller ce que j’applique à tous les langages :

  • Utilise des noms de variables ou de fonctions complets et explicites, évite les abréviations. Arrête-toi et réfléchis à leur clarté, si ça doit être ambigu mets un commentaire.
  • Dès ton code atteint un certain niveau de complexité (côté traitement, pas côté de vue), fais des classes.
  • Fais des commentaires au-dessus des fonctions, avec paramètres, retour, but, types.
  • Mets des commentaires écrits dans un langage clair lorsque que quelque chose doit être ambigu.
  • Saute des lignes pour encourager la lecture.
  • Dès que tu as des types complexes composés de plusieurs types, fais des annotations (si le langage ne supporte pas les annotations mets-les en commentaires)
+0 -0

Cette réponse a aidé l’auteur du sujet

Salut,

D’avance je précise que je ne travaille plus avec PHP mais j’ai le sentiment que ta question s’étend à d’autres langages, donc je me lance.

De manière générale, je pense qu’au-delà de demander ce qu’il faut faire pour aboutir à tel résultat, je pense qu’il faut aussi se demander ce qu’il ne faut pas faire. Je me permets un parallèle avec la vie réelle : si tu veux rester en bonne santé, il ne faut pas fumer, ne pas consommer de drogue dure, etc. C’est des choses qu’on dit assez peu souvent au détriment de « il faut manger cinq fruits et légumes par jour ». En bref, la connaissance négative est selon moi plus robuste que la connaissance positive.

Par exemple si je suis d’accord sur certains points avec @Nek, le troisième point pour moi ne me semble pas obligatoire. Si dans ta démarche tu ne rencontres aucun problème que les design patterns résolvent, ils n’ont alors absolument aucune utilité. C’est même pire : tu crées un problème en utilisant un design pattern incorrectement. On appelle ça humoristiquement la patternite. Il vaut mieux s’en passer dans certains cas.

De même, si ton problème c’est la maintenance, pose-toi la question suivante : es-tu le seul à travailler sur ce projet ? Est-il d’envergure ? Si ce n’est pas le cas, utiliser un framework comme symfony peut sembler overkill. Symfony résout un problème connu : concilier le travail de plusieurs développeurs et offrir un cadre de travail. Mais bosses-tu en équipe et as-tu besoin de ce cadre ?

En bref j’essaie de garder en tête KISS et YAGNI à chaque fois que je bosse sur un projet. Cela ne veut pas dire que je réussis à les appliquer tout le temps… :-°

Sinon, essayer d’avoir des fichiers avec un nombre de lignes limité (de même que pour tes fonctions, méthodes de classes etc.) me paraît aussi être un bon compromis.

Pour faire un code PHP propre voir 1.


  1. voir 2

Assez des salamis, je passe au jambon — Je fais un carnage si ce car nage car je nage, moi, Karnaj ! — Le comble pour un professeur de mathématique ? Mourir dans l’exercice de ses fonctions.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte