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

Combining Fixed and Variadic Parameters دمج المعاملات الإلزامية مع المعامل المتغير الأخير

استقبل عدداً مرناً من المعاملات عبر معامل التجميع (...$args)، وفكك المصفوفات عند الاستدعاء، وتحقق من وجود الدوال بـ function_exists.
1 صفوف تعليمية
PHP
0 مشاهدة

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

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

يمكن للدالة أن تشترط معاملات إلزامية ثابتة في البداية، ثم تلتقط جميع المعاملات الإضافية المتبقية في معامل متغير واحد يوضع في آخر قائمة المعاملات.

  • يُسمح فقط للمعامل الأخير في تعريف الدالة أن يكون متغيراً (function logLine($level, ...$messages)).
  • إن وضع أي معامل آخر بعد ...$messages يسبب خطأً فادحاً وقت الترجمة (Compile Error).
  • يضمن هذا النمط تزويد المعاملات الأساسية الإلزامية دائماً مع إبقاء عدد العناصر الإضافية مرناً.

يرتبط المعامل الأول "env" بالمتغير الثابت $prefix، بينما تُحزم القيم الثلاث المتبقية داخل المصفوفة $tags.

PHP
<?php
function buildTagList($prefix, ...$tags) {
    $formatted = [];
    foreach ($tags as $tag) {
        $formatted[] = $prefix . ":" . strtolower($tag);
    }
    return implode(", ", $formatted);
}

echo buildTagList("env", "Prod", "EU-West", "PHP84") . "\n";