وب‌سرویس مجید

پروژه http-client-contracts

symfony/http-client-contracts

کاربرد:

این پکیج شامل قراردادهای (contracts) مربوط به کلاینت HTTP در فریم‌ورک Symfony است. این قراردادها به توسعه‌دهندگان اجازه می‌دهند تا بدون وابسته شدن به یک پیاده‌سازی خاص، با کلاینت‌های HTTP کار کننند. به عبارت دیگر، این پکیج رابط‌های استانداردی فراهم می‌کند که پیاده‌سازی‌های مختلف (مثل HttpClient از Symfony یا کتابخانه‌های دیگر) می‌توانند از آن پیروی کنند.

در چه شرایطی بهتره استفاده شود؟

وقتی داری یک کتابخانه یا بسته (package) می‌نویسی که نیاز به ارسال درخواست‌های HTTP داره، اما نمی‌خوای وابسته به یک کلاینت خاص باشه، استفاده از این contracts عالیه. به این ترتیب کد تو قابلیت همکاری با هر پیاده‌سازی سازگار با این interfaceها رو داره.

چند مثال از موارد استفاده

- نوشتن یک SDK برای API خارجی که باید با هر کلاینت HTTP سازگار باشه.

- ساخت یک بسته لیارا که نیاز به تماس با سرویس‌های دیگه داره ولی نباید وابستگی مستقیم به Guzzle یا Symfony HttpClient ایجاد کنه.

- توسعه یک فریم‌ورک یا ماژول که قابلیت تعویض کلاینت HTTP رو نیاز داره.

  • ##http
  • ##symfony
  • ##php
  • ##contracts
  • ##abstraction
  • ##psr
  • ##api
  • ##decoupling
  • ##http
  • ##php