PHPクロージャクラス

王林
リリース: 2023-08-19 11:02:01
転載
847 人が閲覧しました

PHPクロージャクラス

はじめに

匿名関数 (ラムダとも呼ばれる) は、クラス Closure のオブジェクトを返します。このクラスには、匿名関数をさらに制御する追加のメソッドがいくつかあります。

Syntax

Closure {
   /* Methods */
   private __construct ( void )
   public static bind ( Closure $closure , object $newthis [, mixed $newscope = "static" ] ) : Closure
   public bindTo ( object $newthis [, mixed $newscope = "static" ] ) : Closure
   public call ( object $newthis [, mixed $... ] ) : mixed
   public static fromCallable ( callable $callable ) : Closure
}
ログイン後にコピー

Method

private Closure::__construct (void) — このメソッドは、Closure クラスのインスタンス化を無効にするためにのみ使用されます。このクラスのオブジェクトは、匿名関数によって作成されます。

public static Closure::bind ( Closure $closure , object $newthis [,mixed $newscope = "static" ] ) − Closure — 特定のバインディング オブジェクトとクラス スコープを使用してコピーします。 。このメソッドは Closure::bindTo() の静的バージョンです。

public Closure::bindTo ( object $newthis [,mixed $newscope = "static" ] ) - Closure — 新しいバインディング オブジェクトとクラス スコープを使用してクロージャをコピーします。本体とバインド変数は同じですが、オブジェクトと新しいクラス スコープが異なる新しい匿名関数を作成して返します。

public Closure::call ( object $newthis [,mixed $... ] ) −mixed — クロージャーを一時的に newthis にバインドし、任意の引数を指定して呼び出します。

クロージャの例

オンライン デモンストレーション

<?php
class A {
   public $nm;
   function __construct($x){
      $this->nm=$x;
   }
}
// Using call method
$hello = function() {
   return "Hello " . $this->nm;
};
echo $hello->call(new A("Amar")). "";;
// using bind method
$sayhello = $hello->bindTo(new A("Amar"),&#39;A&#39;);
echo $sayhello();
?>
ログイン後にコピー

出力

上記のプログラムは次の出力を表示します

Hello Amar
Hello Amar
ログイン後にコピー

以上がPHPクロージャクラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート