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

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
(إضافة الدالة)
 
سطر 1: سطر 1:
 
(PHP 5 >= 5.3.0, PHP 7)
 
(PHP 5 >= 5.3.0, PHP 7)
  
تستدعي الدّالة forward_static_call()‎ دالةً ساكنةً (static) تابعةً لصنف (method).
+
تستدعي الدّالة <code>forward_static_call()‎</code> دالةً ساكنةً (static) تابعةً لصنف (method).
  
 
== الوصف ==
 
== الوصف ==
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
 
mixed forward_static_call ( callable $function [, mixed $parameter [, mixed $... ]] )
 
mixed forward_static_call ( callable $function [, mixed $parameter [, mixed $... ]] )
</syntaxhighlight>تستدعي الدّالة forward_static_call()‎ دالةً معرّفةً من قبل المستخدم أو دالةً تابعةً لصنفٍ ممرّرة بالمُعامل function، مع الوسطاء التاليين. يجب أن تُستدعى هذه الدّالة داخل سياق دالةٍ تابعةٍ لصنف، ولا يمكن استخدامها خارج الصنف. إذ تستخدم [[PHP/late static bindings|الروابط الساكنة المتأخرة]].
+
</syntaxhighlight>تستدعي الدّالة <code>forward_static_call()‎</code> دالةً معرّفةً من قبل المستخدم أو دالةً تابعةً لصنفٍ ممرّرة بالمُعامل <code>function</code>، مع الوسطاء التاليين. يجب أن تُستدعى هذه الدّالة داخل سياق دالةٍ تابعةٍ لصنف، ولا يمكن استخدامها خارج الصنف. إذ تستخدم [[PHP/late static bindings|الروابط الساكنة المتأخرة]].
  
 
== المعاملات ==
 
== المعاملات ==
----
+
=== <code>function</code> ===
 
 
=== function ===
 
 
الدّالة أو الدّالة التابعة لصنف التي نريد استدعائها.
 
الدّالة أو الدّالة التابعة لصنف التي نريد استدعائها.
  
=== parameter ===
+
=== <code>parameter</code> ===
 
صفر أو أكثر من المعاملات التي نريد تمريرها إلى الدّالة.
 
صفر أو أكثر من المعاملات التي نريد تمريرها إلى الدّالة.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
----تُعاد القيمة التي ستُعيدها الدّالة، أو القيمة FALSE في حال حدوث خطأ.
+
----تُعاد القيمة التي ستُعيدها الدّالة، أو القيمة <code>FALSE</code> في حال حدوث خطأ.
  
 
== أمثلة ==
 
== أمثلة ==
----المثال 1: مثال عن استخدام الدّالة forward_static_call()‎<syntaxhighlight lang="php">
+
----المثال 1: مثال عن استخدام الدّالة <code>forward_static_call()‎</code><syntaxhighlight lang="php">
 
<?php
 
<?php
 
class A
 
class A
سطر 51: سطر 49:
  
 
?>
 
?>
</syntaxhighlight>سينتج المثال السابق الناتج الآتي:<syntaxhighlight>
+
</syntaxhighlight>سينتج المثال السابق الناتج الآتي:<syntaxhighlight lang="text">
 
B
 
B
 
B more,args  
 
B more,args  
سطر 59: سطر 57:
 
== انظر أيضًا ==
 
== انظر أيضًا ==
 
----
 
----
* [[PHP/forward static call array|الدالة ()forward_static_call_array: استدعاء دالة ساكنة تابعة لصنف مع تمرير مصفوفة من المعاملات إليها.]]
+
* الدالة <code>[[PHP/forward static call array|()forward_static_call_array]]</code>: استدعاء دالة ساكنة تابعة لصنف مع تمرير مصفوفة من المعاملات إليها.
* [[PHP/call user func array|الدالة call_user_func_array()‎: استدعاء دالة رد النداء مع تمرير مصفوفة من المعاملات إليها.]]
+
* الدالة <code>[[PHP/call user func array|call_user_func_array()‎]]</code>: استدعاء دالة رد النداء مع تمرير مصفوفة من المعاملات إليها.
* [[PHP/call user func|الدالة call_user_func()‎: استدعاء دالة رد النداء الممررة في المعامل الأول.]]
+
* الدالة <code>[[PHP/call user func|call_user_func()‎]]</code>: استدعاء دالة رد النداء الممررة في المعامل الأول.
* الدالة is_callable()‎: التأكد من أن محتوى المتغير يمكن أن يستدعى كدالة.
+
* الدالة <code>[[PHP/is callable|is_callable()‎]]</code>: التأكد من أن محتوى المتغير يمكن أن يستدعى كدالة.
* معلومات حول النوع callback.
+
* [[PHP/callable|معلومات حول النوع callback]].
  
 
== مصادر ==
 
== مصادر ==
 
----[http://php.net/manual/en/function.forward-static-call.php ●        صفحة الدالة forward_static_call في توثيق PHP الرسمي.]
 
----[http://php.net/manual/en/function.forward-static-call.php ●        صفحة الدالة forward_static_call في توثيق PHP الرسمي.]
 
----
 
----

مراجعة 12:35، 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

انظر أيضًا


مصادر


●        صفحة الدالة forward_static_call في توثيق PHP الرسمي.