Laravel dispose déjà des trois éléments nécessaires: un client HTTP, un cache et une file d'attente. Résolvez le véhicule dans une classe de service, mémorisez l'URL et affichez-la via un composant Blade que le reste de l'application n'a jamais à considérer.
Enveloppez la recherche dans un petit service, mettez Cache::remember autour et liez-le dans le conteneur. À partir de ce moment, le reste de la base de code appelle une méthode et reçoit une URL, sans savoir qu'une API était impliquée.
Un service, un appel de cache, un composant Blade et un travail en file d'attente pour les volumes. Les quatre sont les versions ennuyeuses.
Un fichier de configuration avec la clé de .env, donc rien de sensible n'atteint le contrôle de version.
Le client HTTP appelle l'API avec un VIN ou une spécification, et la méthode renvoie les URLs dont vos vues ont besoin.
Cache::remember avec une clé construite à partir de l'identifiant du véhicule. Les listes s'affichent ensuite entièrement à partir du cache.
Pour un passage complet du catalogue, envoyer un travail par véhicule afin que l'importation s'exécute en arrière-plan et puisse être relancée.
Intégrez des images de véhicules à votre produit sans travail lourd. Une documentation claire, des SDK ouverts et des plugins prêts à l'emploi se connectent à votre stack en quelques minutes, et notre page d'état vous montre en direct comment se porte l'API.
Un seul composant x-vehicle-image prend le véhicule et la largeur, et chaque vue de l'application l'utilise. Lorsque l'angle ou le format change plus tard, vous modifiez un seul fichier.
Les applications Laravel accèdent généralement aux images de véhicules via un script d'importation. Quelqu'un écrit une commande qui télécharge des photos dans le stockage, et à partir de ce moment, l'application transporte un système de fichiers rempli de photos de véhicules, une file d'attente qui le maintient à jour et un rapport de bug chaque fois qu'une année modèle est manquante.
La résolution à la demande supprime complètement la couche de stockage. L'identifiant du véhicule que vous avez déjà devient l'image, le cache la rend abordable et un composant Blade la rend invisible. Ce qui était autrefois un pipeline d'importation avec ses propres modes de défaillance se transforme en un appel de méthode qui renvoie une chaîne de caractères.
Pas un client dédié. L'API est un point de terminaison REST simple, et le client HTTP plus une classe de service est généralement moins de code que la configuration d'un package.
Cache::remember avec une clé construite à partir du VIN ou de la spécification. Une durée de vie longue est acceptable, car la réponse ne change que lorsque votre catalogue change.
Pas besoin. Les URLs pointent vers notre CDN, donc le stockage, les sauvegardes et l'utilisation du disque restent en place.
Http::fake dans votre cas de test. Comme le service renvoie des URLs, la plupart des tests n'ont besoin que de vérifier la forme de ce qui est retourné.
Envoyer un travail en file d'attente par véhicule. Les travaux échoués se relancent automatiquement et l'importation reste en dehors du cycle de requête.
Oui. Les deux reçoivent l'URL du serveur sous forme de chaîne de caractères ordinaire, donc rien ne change dans l'intégration.
Dites-nous comment les véhicules sont stockés dans votre schéma et où les images sont rendues. Nous revenons avec des URLs et un plan de service.