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

Understanding PHP invoke Method آلية عمل الدالة السحرية __invoke

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

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

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

تعتمد المتحكمات أحادية الإجراء على الدالة السحرية المدمجة في لغة PHP وهي __invoke، والتي تعمل تلقائياً عند استدعاء الكائن البرمجي كأنه دالة. وعندما يجد موجه Laravel كلاس متحكم مسجلاً في المسار بدون اسم دالة، فإنه يوجه الطلب مباشرة نحو دالة __invoke.

  • الدالة السحرية (PHP Magic Method): تُعرف بالاسم القياسي public function __invoke داخل الكلاس.
  • كائن قابل للاستدعاء (Callable Object): تجعل الكائن قابلاً للتنفيذ المباشر تماماً مثل الدوال.
  • دعم الدوال المساعدة (Helper Methods Allowed): يمكنك إضافة دوال مساعدة خاصة private لتقسيم الخطوات الداخلية.
PHP
<?php
namespace App\Http\Controllers;
class CalculateTaxController extends Controller {
    public function __invoke(): array {
        return ['rate' => $this->rate()];
    }
    private function rate(): float { return 0.15; }
}