شرح صفوف ومحتوى الفقرة
تعتمد المتحكمات أحادية الإجراء على الدالة السحرية المدمجة في لغة 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; }
}