Des contrôleurs d'importation de 400 lignes aux configurations de 20 lignes dans Laravel

DEV - 04/02
Les « cauchemars de l'importation » que nous connaissons tous Si vous avez créé des applications professionnelles avec Laravel,...

Les « cauchemars de l’importation » que nous connaissons tous

Si vous avez créé des applications métiers avec Laravel, vous avez certainement reçu ce ticket :

"En tant qu'administrateur, je dois télécharger un CSV contenant 50 000 produits pour mettre à jour nos niveaux de stock."

J'ai vu cette demande au moins une douzaine de fois dans différents projets. Cela semble simple. Alors vous prenez un analyseur CSV, peut-êtreligue/csvoumaatwebsite/excel, et commencez à écrire un Controller.

Dix minutes plus tard, vous êtes plongé dans les mauvaises herbes :

  • "Comment valider la ligne 49 000 sans planter la mémoire ?"
  • "Le client appelle la colonne 'E-Mail', mais parfois 'Adresse e-mail'."
  • "Je dois trouver l'ID de catégorie par son nom, mais le créer s'il n'existe pas."
  • "Le client souhaite qu'un 'Dry Run' détecte les erreurs avant de les valider."

Votre contrôleur devient un monstre de 400 lignes dealors quedes boucles,essayer-attraperblocs et logique de validation manuelle. C'est difficile à tester, difficile à lire et terrifiant à refactoriser.

Il doit y avoir une meilleure façon.

Présentation de Laravel Ing...
[Courte citation de 8% de l'article original]

Loading...