دليل Symfony مع AllStak

أضف مراقبة تلقائية للأخطاء والطلبات والاستعلامات إلى تطبيق Symfony 6.4/7. الباقة تعمل بلا إعداد بمفتاح API واحد.

المستودع المصدر:
AllStak/allstak-symfony
مسار README:
README.md
إصدار الـ SDK:
0.1.0
مصدر التثبيت:
Packagist
آخر تحقّق:
2026-05-31

التثبيت

ثبّت عبر Composer (يتطلّب PHP >= 8.1، وSymfony 6.4 أو 7.x).

composer require allstak/sdk-symfony

الإعداد

يسجّل Symfony Flex الباقة تلقائيًا. اضبط متغيّر بيئة واحدًا؛ وملف إعداد اختياري يخصّص التكاملات.

# .env
ALLSTAK_API_KEY=allstak_live_xxxxxxxx

# optional: config/packages/allstak.yaml
allstak:
    api_key: '%env(ALLSTAK_API_KEY)%'
    environment: '%kernel.environment%'
    service: 'my-symfony-app'
    integrations:
        kernel: true
        doctrine: true
        http_client: true
        messenger: true

مثال أساسي

بدون Flex، سجّل الباقة في config/bundles.php.

return [
    // ...
    AllStak\SymfonyBundle\AllStakBundle::class => ['all' => true],
];

التقاط الأخطاء

تُلتقط الاستثناءات غير المُعالَجة تلقائيًا. وحقن خدمة AllStak لالتقاط المُعالَجة.

use AllStak\AllStak;

final class CheckoutController
{
    public function __construct(private AllStak $allstak) {}

    public function pay(): Response
    {
        try {
            // ...
        } catch (\Throwable $e) {
            $this->allstak->captureError($e);
            throw $e;
        }
    }
}

تتبّع الطلبات

يفتح تكامل النواة span من نوع http.server لكل طلب، ويسجّل طلب HTTP واردًا، ويلتقط الاستثناءات بسياق الطلب — وتُفرَّغ المخازن عند kernel.terminate. كما تُلتقط استعلامات Doctrine ونداءات HttpClient الصادرة تلقائيًا عند تفعيل تكاملاتها.

أفضل الممارسات

  • احتفظ بـ ALLSTAK_API_KEY في .env؛ والباقة لا تفعل شيئًا بأمان عندما يكون فارغًا.
  • بدّل التكاملات (kernel/doctrine/http_client/messenger/monolog) في الإعداد.
  • اضبط service و release لتجميع أوضح.