ฟังก์ชัน forward_static_call_array

ฟังก์ชัน forward_static_call_array ช่วยให้สามารถเรียกใช้เมธอดแบบสแตติกของคลาสโดยส่งพารามิเตอร์ในรูปของอาร์เรย์ได้ พารามิเตอร์แรกรับ callable (ชื่อคลาสและเมธอดในรูปแบบอาร์เรย์หรือสตริง) พารามิเตอร์ที่สอง - อาร์เรย์ของอาร์กิวเมนต์ที่จะส่งเข้าไปในเมธอด

ไวยากรณ์

phpforward_static_call_array(callable $function, array $parameters);

ตัวอย่าง

มาเรียกใช้เมธอดแบบสแตติกของคลาพร้อมส่งพารามิเตอร์กัน:

php<?php
  class Calculator {
    public static function add($a, $b) {
      return $a + $b;
    }
  }
  
  $res = forward_static_call_array(['Calculator', 'add'], [5, 3]);
  echo $res;
?>

ผลลัพธ์การทำงานของโค้ด:

php8

ตัวอย่าง

การใช้การเรียกแบบสตริงแทนอาร์เรย์:

php<?php
  class StringHelper {
    public static function concat($str1, $str2) {
      return $str1 . $str2;
    }
  }
  
  $res = forward_static_call_array('StringHelper::concat', ['Hello', 'World']);
  echo $res;
?>

ผลลัพธ์การทำงานของโค้ด:

php'HelloWorld'

ดูเพิ่มเติม

  • ฟังก์ชัน call_user_func_array,
    ซึ่งเรียกใช้ callback function ด้วยอาร์เรย์ของพารามิเตอร์
  • ฟังก์ชัน forward_static_call,
    ซึ่งเรียกใช้เมธอดแบบสแตติกด้วยอาร์กิวเมนต์แยกแต่ละตัว