PHP.mk документација

forward_static_call_array

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.forward-static-call-array.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.forward-static-call-array.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
forward_static_call_array

Референца за `function.forward-static-call-array.php` со подобрена типографија и навигација.

function.forward-static-call-array.php

forward_static_call_array

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

forward_static_call_arrayПовикај статичен метод и поминете ги аргументите како низа

= NULL

forward_static_call_array(callable $callback, array $args): mixed

Повикува кориснички дефинирана функција или метод даден од callback параметар. Оваа функција мора да се повика во контекст на метод, не може да се користи надвор од класа. Таа користи метод на класа или некој од нејзините родители. Покрај тоа, статичките својства или методи може да се пребришат преку. Сите аргументи на проследениот метод се поминуваат како вредности, и како низа, слично на call_user_func_array().

Параметри

callback

Функцијата или методот што треба да се повика. Овој параметар може да биде array, со името на класата и методот, или string, со име на функција.

args

Еден параметар, кој ги собира сите параметри на методот во една низа.

Забелешка:

Забележете дека параметрите за forward_static_call_array() не се предаваат со референца.

Вратени вредности

Враќа резултат од функцијата, или false при грешка.

Примери

Пример #1 forward_static_call_array() example

<?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";
}

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

B
B more,args 
C other,args

Види Исто така

  • forward_static_call() - Повикај статичен метод
  • call_user_func() - Повикајте ја повратната функција дадена од првиот параметар
  • call_user_func_array() - Повикајте повик со низа од параметри
  • is_callable() - Проверете дали вредноста може да се повика како функција од тековниот опсег

Белешки од корисници 2 забелешки

нино.скопак на gmail.com
пред 9 години
Regarding namespaces:

Be sure to include fully namespaced class path:

<?php
forward_static_call_array(
    array('NAMESPACE\CLASS_NAME', 'STATIC_METHOD'),
    $params
);
israfilov93 at gmal dot com
пред 7 години
one of academic example, when forward_static_call() can be useful

<?php

class A
{
    public static function test()
    {
        var_dump('we were here');
        return static::class;
    }
}

class B extends A
{
    public static function test()
    {
        return self::class;
    }
}

class C extends B
{
    public static function test()
    {
        $grandParent = get_parent_class(parent::class); // $grandParent is A
        return forward_static_call([$grandParent, __FUNCTION__]); // calls A::test()
    }
}

// prints 
// string(12) "we were here"
// string(1) "C"
var_dump(C::test());
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.