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

Closure::call

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

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

Референца за `closure.call.php` со подобрена типографија и навигација.

closure.call.php

Closure::call

Интерфејсот SessionUpdateTimestampHandlerInterface

Closure::callГи врзува и ги повикува затворањата

= NULL

public Closure::call(object $newThis, mixed ...$args): mixed

Привремено го врзува затворањето на newThis, и го повикува со било кои дадени параметри.

Параметри

newThis

На object за да го врзе затворањето за времетраењето на повикот.

args

Нула или повеќе параметри, кои ќе бидат дадени како параметри на затворањето.

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

Враќа вратена вредност од затворањето.

Примери

Пример #1 Closure::call() example

<?php
class Value {
protected
$value;

public function
__construct($value) {
$this->value = $value;
}

public function
getValue() {
return
$this->value;
}
}

$three = new Value(3);
$four = new Value(4);

$closure = function ($delta) { var_dump($this->getValue() + $delta); };
$closure->call($three, 4);
$closure->call($four, 4);
?>

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

int(7)
int(8)

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

php-net на gander dot pl
пред 4 години
You can also access private data:

<?php
class Value {
    private $value;

    public function __construct($value) {
        $this->value = $value;
    }
}

$foo = new Value('Foo');
$bar = new Value('Bar');

$closure = function () { var_dump($this->value); };
$closure->call($foo);
$closure->call($bar);
?>

Output:
string(3) "Foo"
string(3) "Bar"
sergey dot nevmerzhitsky на gmail dot com
пред 9 години
Prior PHP 7.0 you can use this code:

<?php
$cl = function($add) { return $this->a + $add; };

$cl->bindTo($newthis);
return call_user_func_array($cl, [10]);
?>

But this bind the closure permanently! Also read the article for Closure::bindTo() about binding closures from static context.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

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

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

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

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

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