انتقل إلى محتوى الدرس

Passing Parameters to invoke تمرير معاملات الرابط لدالة __invoke

بناء متحكمات مخصصة لإجراء واحد باستخدام الدالة السحرية __invoke لتنظيم العمليات المعقدة وفق أحدث معايير إطار العمل Laravel 12 مع أمثلة وتطبيقات عملية متدرجة.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تُمرر معاملات الرابط الديناميكية الإلزامية والاختيارية مباشرة إلى معاملات دالة __invoke بنفس الطريقة المتبعة في دوال المتحكمات القياسية. كما يمكنك دمج حقن الخدمات مع معاملات الرابط داخل توقيع دالة __invoke بكل سلاسة.

  • استقبال معاملات الرابط (Route Segment Injection): تمرير قيم الأقواس المعقوفة مباشرة إلى معاملات __invoke.
  • القيم الافتراضية (Optional Defaults): دعم المعاملات الاختيارية في الرابط بإسناد قيمة افتراضية للمتغير.
  • سهولة الاختبار (Clean Testing): سهولة اختبار الكلاس بشكل مستقل نظراً لتخصصه في عملية واحدة.
PHP
<?php
namespace App\Http\Controllers;

class ExportPdfController extends Controller {
    public function __invoke(int $id, string $f = 'A') {
        return ['invoice' => $id, 'format' => $f];
    }
}