PHP/forward static call
< PHP
(PHP 5 >= 5.3.0, PHP 7)
تستدعي الدّالة forward_static_call() دالةً ساكنةً (static) تابعةً لصنف (method).
الوصف
mixed forward_static_call ( callable $function [, mixed $parameter [, mixed $... ]] )
تستدعي الدّالة forward_static_call() دالةً معرّفةً من قبل المستخدم أو دالةً تابعةً لصنفٍ ممرّرة بالمُعامل function، مع الوسطاء التاليين. يجب أن تُستدعى هذه الدّالة داخل سياق دالةٍ تابعةٍ لصنف، ولا يمكن استخدامها خارج الصنف. إذ تستخدم الروابط الساكنة المتأخرة.
المعاملات
function
الدّالة أو الدّالة التابعة لصنف التي نريد استدعائها.
parameter
صفر أو أكثر من المعاملات التي نريد تمريرها إلى الدّالة.
القيم المعادة
تُعاد القيمة التي ستُعيدها الدّالة، أو القيمة FALSE في حال حدوث خطأ.
أمثلة
المثال 1: مثال عن استخدام الدّالة forward_static_call()
<?php
class A
{
const NAME = 'A';
public static function test() {
$args = func_get_args();
echo static::NAME, " ".join(',', $args)." \n";
}
}
class B extends A
{
const NAME = 'B';
public static function test() {
echo self::NAME, "\n";
forward_static_call(array('A', 'test'), 'more', 'args');
forward_static_call( 'test', 'other', 'args');
}
}
B::test('foo');
function test() {
$args = func_get_args();
echo "C ".join(',', $args)." \n";
}
?>
سينتج المثال السابق الناتج الآتي:
B
B more,args
C other,args
انظر أيضًا
- الدالة ()forward_static_call_array: استدعاء دالة ساكنة تابعة لصنف مع تمرير مصفوفة من المعاملات إليها.
- الدالة call_user_func_array(): استدعاء دالة رد النداء مع تمرير مصفوفة من المعاملات إليها.
- الدالة call_user_func(): استدعاء دالة رد النداء الممررة في المعامل الأول.
- الدالة is_callable(): التأكد من أن محتوى المتغير يمكن أن يستدعى كدالة.
- معلومات حول النوع callback.
مصادر
● صفحة الدالة forward_static_call في توثيق PHP الرسمي.