الفرق بين المراجعتين ل"PHP/forward static call array"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
(تعديل روابط)
 
(روابط)
سطر 8: سطر 8:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
تستدعي الدّالة forward_static_call_array()‎ دالة معرّفة من قبل المستخدم أو دالة تابعة لصنف ممرّرة بالمعامل function، مع الوسطاء التاليين. يجب أن تستدعى هذه الدّالة داخل سياق دالة تابعة لصنف، ولا يمكن استخدامها خارج الصنف. وهي تستخدم [[PHP/late static bindings|الروابط الساكنة المتأخرة]]. إذ تمرّر جميع وسطاء الدالة الممرّة التابعة لصنف على شكل قيّم، وعلى شكل مصفوفة، بشكل مشابه للدّالة call_user_func_array()‎.
+
تستدعي الدّالة forward_static_call_array()‎ دالة معرّفة من قبل المستخدم أو دالة تابعة لصنف ممرّرة بالمعامل function، مع الوسطاء التاليين. يجب أن تستدعى هذه الدّالة داخل سياق دالة تابعة لصنف، ولا يمكن استخدامها خارج الصنف. وهي تستخدم [[PHP/late static bindings|الروابط الساكنة المتأخرة]]. إذ تمرّر جميع وسطاء الدالة الممرّة التابعة لصنف على شكل قيّم، وعلى شكل مصفوفة، بشكل مشابه للدّالة [[PHP/call user func array|call_user_func_array()]]‎.
  
 
== المعاملات ==
 
== المعاملات ==
سطر 64: سطر 64:
 
== انظر أيضًا ==
 
== انظر أيضًا ==
 
----
 
----
* الدالة ()forward_static_call: استدعاء دالة ساكنة تابعة لصنف.
+
* [[PHP/forward static call|الدالة ()forward_static_call: استدعاء دالة ساكنة تابعة لصنف.]]
 
* [[PHP/call user func|الدالة call_user_func()‎: استدعاء دالة رد النداء الممررة في المعامل الأول.]]
 
* [[PHP/call user func|الدالة call_user_func()‎: استدعاء دالة رد النداء الممررة في المعامل الأول.]]
 
* [[PHP/call user func array|الدالة call_user_func_array()‎: استدعاء دالة رد النداء مع تمرير مصفوفة من المعاملات إليها.]]
 
* [[PHP/call user func array|الدالة call_user_func_array()‎: استدعاء دالة رد النداء مع تمرير مصفوفة من المعاملات إليها.]]

مراجعة 23:25، 14 أبريل 2018

(PHP 5 >= 5.3.0, PHP 7)

تستدعي الدالة forward_static_call_array()‎ دالةً ساكنةً (static) تابعةً لصنف (method) وتمرّر مصفوفة من المعاملات.

الوصف

mixed forward_static_call_array ( callable $function , array $parameters )

تستدعي الدّالة forward_static_call_array()‎ دالة معرّفة من قبل المستخدم أو دالة تابعة لصنف ممرّرة بالمعامل function، مع الوسطاء التاليين. يجب أن تستدعى هذه الدّالة داخل سياق دالة تابعة لصنف، ولا يمكن استخدامها خارج الصنف. وهي تستخدم الروابط الساكنة المتأخرة. إذ تمرّر جميع وسطاء الدالة الممرّة التابعة لصنف على شكل قيّم، وعلى شكل مصفوفة، بشكل مشابه للدّالة call_user_func_array()‎.

المعاملات


function

الدّالة أو الدّالة التابعة لصنف التي نريد استدعائها. من الممكن أن يكون هذا المعامل مصفوفة، مع اسم الصنف، والدالة التابعة للصنف؛ أو سلسلة محرفيّة string، مع اسم الدّالة.

parameter

معامل واحد، يجمع كل وسطاء الدّالة التابعة للصف في مصفوفة واحدة.

لاحظ أنّه لا تمرّر معاملات للدالة forward_static_call_array()‎ بالمرجعية.

القيم المعادة


تُعاد القيمة التي ستُعيدها الدّالة، أو القيمة FALSE في حال حدوث خطأ.

أمثلة


المثال 1: مثال عن استخدام الدّالة forward_static_call_array()‎

<?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(array('A', 'test'), array('more', 'args'));
        forward_static_call_array( 'test', array('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 في توثيق PHP الرسمي.