77 votes

PHP - Pourquoi Utiliser Bouffer au Lieu de roulage?

Dans mon application, j'ai d'abord commencé à utiliser cURL pour récupérer des données à partir de différentes Api. Aujourd'hui, j'ai essayé d'utiliser Bouffer pour effectuer la même tâche. Jusqu'à présent, les deux cURL et Bouffer semblent tout aussi bon.

À en juger par Github, beaucoup de gens semblent aimer Bouffer, mais je n'ai pas vraiment comprendre pourquoi.

Ma question:

Pour ma situation (la récupération de données à partir de différentes Api), est-il préférable d'utiliser Bouffer? Je fini par le regretter, si j'utilise cURL au lieu Bouffer (ou vice versa)?

Je suis à l'aide de PHP / Laravel.

116voto

Fabio Antunes Points 13903

Pourquoi utiliser Bouffer?

Tout d'abord Bouffer est une couche d'abstraction pour la requête http, même si elle utilise cURL par défaut, vous pouvez utiliser n'importe quel autre client http qui vous voulez:

Ne Bouffer besoin cURL?

Pas de. Bouffer pouvez utiliser n'importe quel gestionnaire HTTP pour envoyer les requêtes. Cela signifie que Guzzle peut être utilisé avec cURL, PHP gestionnaire de flux, des sockets, et non-blocage des bibliothèques comme Réagir. Vous avez juste besoin de configurer une adresse HTTP gestionnaire à utiliser une autre méthode d'envoi des demandes

Remarque: Bouffer a toujours utilisé cURL pour envoyer des requêtes HTTP. cURL est un incroyable client HTTP (sans doute le meilleur), et va Bouffer continuer à l'utiliser par défaut lorsqu'il est disponible. Il est rare, mais certains développeurs n'ont pas cURL installé sur leur système ou d'exécuter en version des questions spécifiques. En permettant la permutation à chaud de gestionnaires HTTP, Bouffer est maintenant beaucoup plus personnalisable et capables de s'adapter afin de répondre aux besoins de plus de développeurs.

Puisque vous êtes à l'aide de Laravel, si par une chance que vous utilisez toutes les API email puis par maintenant vous avez déjà Bouffer installé. Sur votre Laravel du compositeur.json , vous pouvez voir une suggestion:

"suggest": {
    ...
    "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).",
    ...
}

Une autre raison sera la réutilisation de code, de prendre un coup d'oeil à l'observation faite par bogdan la quantité de code nécessaire pour faire une simple requête http avec cURL. Avec les Bouffer, c'est bien plus simple, plus propre, lisible et réutilisable. Son assez facile de créer un service qui va encapsuler vos requêtes Http.

Bouffer permet également d'effectuer des demandes asynchrones, d'une manière très similaire-vous faire avec javascript à l'aide de promesses.

Dernier mais non le moindre, les tests! C'est plus facile de faire des tests pour votre API ou de créer des tests Unitaires pour votre application et de se moquer des requêtes http avec Bâfrer de l'aide de cURL. Plus d'infos sur les tests ici

MAIS si vous voulez seulement faire seulement un couple de simples requêtes http (ce qui ne semble pas être le cas), vous n'avez pas de soins sur les tests et vous ne voulez pas avoir une dépendance à Bouffer aller pour le roulage.

9voto

DevDonkey Points 3866

Guzzle est une couche d'abstraction pour le transport HTTP, qui arrive à utiliser cURL lorsqu'ils sont disponibles.

Ainsi que le ci-dessus, tandis que vous pouvez tout faire vous-même avec cURL, Bouffer simplifie énormément de choses, en particulier quand il s'agit de débogage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X