العالم 3 · الكتل الإضافية

مشاريع GitHub

أدوات مفتوحة المصدر وُلدت من احتياجات حقيقية في بيئة الإنتاج: دمج واجهة Uber Eats، وتوليد واجهات CRUD، وأدوات لـ Symfony.

UberEat PHP SDK

مكتبة PHP لدمج واجهة برمجة UberEat

  • دمج كامل لواجهة برمجة UberEat
  • إدارة الطلبات والقوائم
  • توثيق مفصل وأمثلة
عرض على GitHub ↗

> لماذا هذه المشاريع مفتوحة المصدر

وُلد كل مشروع من هذه المشاريع من حاجة واجهتها في بيئة الإنتاج: تكامل يجب كتابته، أو مهمة متكررة يجب أتمتتها، أو معلومة يصعب الحصول عليها. وبدلًا من إبقاء الشيفرة داخل مشروع واحد، استخرجتها ووثّقتها ونشرتها على GitHub وPackagist ليستفيد منها مطورو PHP وSymfony الآخرون.

تغطي هذه المستودعات عدة أجيال من Symfony، من أولى الحزم المكتوبة عام 2017 إلى الإصدارات الحديثة المصانة لـ Symfony 7. وهي تُظهر أيضًا طريقتي في العمل: شيفرة محددة الأنواع، وأدوات تحليل ساكن، وتكامل مستمر، وتوثيق واضح من الصفحة الرئيسية للمستودع.

> UberEats PHP SDK: تكامل نظيف مع واجهة Uber Eats

حزمة UberEats SDK عميل PHP حديث لواجهة Uber Eats البرمجية، متوافق مع PHP 7.4 وما بعده. يتولى المصادقة والطلبات والمتاجر وعمليات التوصيل، إضافة إلى webhooks. وتُمثَّل الطلبات والاستجابات بكائنات محددة الأنواع، مما يجنّب التعامل مع مصفوفات ترابطية هشّة.

يعتمد المشروع على Guzzle لطلبات HTTP ويقبل مسجّلًا اختياريًا متوافقًا مع PSR-3. وتُفحص الجودة تلقائيًا: أسلوب كتابة PSR-12 عبر PHP CS Fixer، وPHPStan في أعلى مستوى، واختبارات تعمل في التكامل المستمر على GitHub Actions. ويُثبَّت عبر Composer من خلال الحزمة ubereats/php-sdk.

> حزم Symfony

توفّر حزمة Template Bundle ‏(benmacha/templatebundle) واجهة إدارة جاهزة للاستخدام وأمرًا هو benmacha:generate:crud يولّد واجهة CRUD كاملة مع مدخلها في القائمة. وهذا يوفّر وقتًا حقيقيًا في لوحات الإدارة الداخلية التي تحتاج إلى شاشات إدارة كثيرة ومتشابهة.

أما MouseTrackerBundle ‏(benmacha/mousetracker) فهي أداة ذاتية الاستضافة لتتبع الفأرة في Symfony 5.4 و6.4 و7.x، على PHP 8.1 وما بعده. تسجّل الحركات والنقرات والتمرير ولقطات من DOM في قاعدة بياناتك الخاصة، لإنتاج خرائط حرارية وإعادة تشغيل الجلسات دون إرسال بيانات مستخدميك إلى خدمة خارجية. ولم يعد الإصدار 2 يعتمد على jQuery.

وتقوم DiagramBundle ‏(benmacha/diagram-bundle)، المنشورة بترخيص MIT، برسم كيانات قاعدة البيانات والعلاقات التي تربط بينها. وهي تساعد على فهم نموذج بيانات مشروع Symfony قائم بسرعة، مثلًا عند استلام شيفرة موجودة أو انضمام مطوّر جديد إلى الفريق.

> الاستخدام أو المساهمة

تُثبَّت كل هذه الحزم عبر Composer، ويوجد توثيقها مباشرة في مستودع GitHub. والبلاغات وطلبات الدمج مرحّب بها: فتقرير دقيق عن خطأ أو تحسين في التوثيق يُعدّ مساهمة مفيدة. ولأي حاجة أكثر تحديدًا تتعلق بـ Symfony أو بتكامل واجهة برمجية، يمكنك التواصل معي مباشرة.