الفرق بين المراجعتين لصفحة: «PHP/forward static call array»
تعديل روابط |
لا ملخص تعديل |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>forward_static_call_array()</code> في PHP}}</noinclude> | |||
(PHP 5 >= 5.3.0, PHP 7) | (PHP 5 >= 5.3.0, PHP 7) | ||
تستدعي الدالة forward_static_call_array() دالةً ساكنةً (static) تابعةً لصنف (method) وتمرّر مصفوفة من المعاملات. | تستدعي الدالة <code>forward_static_call_array()</code> دالةً ساكنةً (static) تابعةً لصنف (method) وتمرّر مصفوفة من المعاملات. | ||
== الوصف == | == الوصف == | ||
سطر 8: | سطر 9: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
تستدعي الدّالة forward_static_call_array() دالة معرّفة من قبل المستخدم أو دالة تابعة لصنف ممرّرة بالمعامل | تستدعي الدّالة <code>forward_static_call_array()</code> دالة معرّفة من قبل المستخدم أو دالة تابعة لصنف ممرّرة بالمعامل <code>function</code>، مع الوسطاء التاليين. يجب أن تستدعى هذه الدّالة داخل سياق دالة تابعة لصنف، ولا يمكن استخدامها خارج الصنف. وهي تستخدم [[PHP/late static bindings|الروابط الساكنة المتأخرة]]. إذ تمرّر جميع وسطاء الدالة الممرّة التابعة لصنف على شكل قيّم، وعلى شكل مصفوفة، بشكل مشابه للدّالة <code>[[PHP/call user func array|call_user_func_array()]]</code>. | ||
== المعاملات == | == المعاملات == | ||
=== <code>function</code> === | |||
الدّالة أو الدّالة التابعة لصنف التي نريد استدعائها. من الممكن أن يكون هذا المعامل مصفوفة، مع اسم الصنف، والدالة التابعة للصنف؛ أو سلسلة نصية، مع اسم الدّالة. | |||
=== | === <code>parameter</code> === | ||
معامل واحد، يجمع كل وسطاء الدّالة التابعة للصف في مصفوفة واحدة. | معامل واحد، يجمع كل وسطاء الدّالة التابعة للصف في مصفوفة واحدة. | ||
لاحظ أنّه لا تمرّر معاملات للدالة forward_static_call_array() بالمرجعية. | لاحظ أنّه لا تمرّر معاملات للدالة <code>forward_static_call_array()</code> بالمرجعية. | ||
القيم المعادة | == القيم المعادة == | ||
تُعاد القيمة التي ستُعيدها الدّالة، أو القيمة <code>FALSE</code> في حال حدوث خطأ. | |||
== أمثلة == | == أمثلة == | ||
المثال 1: مثال عن استخدام الدّالة <code>forward_static_call_array()</code><syntaxhighlight lang="php"> | |||
<?php | <?php | ||
سطر 56: | سطر 55: | ||
?> | ?> | ||
</syntaxhighlight>سينتج المثال السابق الناتج الآتي:<syntaxhighlight> | </syntaxhighlight>سينتج المثال السابق الناتج الآتي:<syntaxhighlight lang="text"> | ||
B | B | ||
B more,args | B more,args | ||
سطر 63: | سطر 62: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالة <code>[[PHP/forward static call|()forward_static_call]]</code>: استدعاء دالة ساكنة تابعة لصنف. | |||
* الدالة ()forward_static_call: استدعاء دالة ساكنة تابعة لصنف. | * الدالة <code>[[PHP/call user func|call_user_func()]]</code>: استدعاء دالة [[PHP/callable|رد النداء]] الممررة في المعامل الأول. | ||
* [[PHP/call user func| | * الدالة <code>[[PHP/call user func array|call_user_func_array()]]</code>: استدعاء دالة رد النداء مع تمرير مصفوفة من المعاملات إليها. | ||
* [[PHP/call user func array| | * الدالة <code>[[PHP/is callable|is_callable()]]</code>: التأكد من أن محتوى المتغير يمكن أن يستدعى كدالة. | ||
* الدالة is_callable(): التأكد من أن محتوى المتغير يمكن أن يستدعى كدالة. | * [[PHP/callable|معلومات حول النوع callback]]. | ||
* معلومات حول النوع callback. | |||
== مصادر == | == مصادر == | ||
[http://php.net/manual/en/function.forward-static-call-array.php | * [http://php.net/manual/en/function.forward-static-call-array.php صفحة الدالة forward_static_call_array في توثيق PHP الرسمي.] | ||
[[تصنيف:PHP]] | |||
[[تصنيف:PHP Function]] | |||
[[تصنيف:PHP Function Handling]] |
المراجعة الحالية بتاريخ 05:25، 15 أبريل 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
الدّالة أو الدّالة التابعة لصنف التي نريد استدعائها. من الممكن أن يكون هذا المعامل مصفوفة، مع اسم الصنف، والدالة التابعة للصنف؛ أو سلسلة نصية، مع اسم الدّالة.
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
: استدعاء دالة ساكنة تابعة لصنف. - الدالة
call_user_func()
: استدعاء دالة رد النداء الممررة في المعامل الأول. - الدالة
call_user_func_array()
: استدعاء دالة رد النداء مع تمرير مصفوفة من المعاملات إليها. - الدالة
is_callable()
: التأكد من أن محتوى المتغير يمكن أن يستدعى كدالة. - معلومات حول النوع callback.