الدالة forward_static_call()‎ في PHP

من موسوعة حسوب
< PHP
مراجعة 12:37، 15 أبريل 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

(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

انظر أيضًا

مصادر