| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
Closure::bindTo(PHP 5 >= 5.4.0, PHP 7) Closure::bindTo — 新しくバインドしたオブジェクトとクラスのスコープで、クロージャを複製する 説明自身と同じ本体とバインド変数を持つ新しい 無名関数 を作って返します。しかし、バインドするオブジェクトは変わって新しいクラスのスコープとなります。
“バインドするオブジェクト” によって、$this
が関数本体で持つ値が決まり、“クラスのスコープ”
は、無名関数からどのクラスの private メンバーや protected メンバーにアクセスできるのかが決まります。
すなわち、無名関数から見えるメンバーは、
その無名関数が
静的なクロージャは何もオブジェクトをバインドできません
(
この関数が静的でないクロージャに関して保証するのは、
バインドされたインスタンスを持っていればスコープ内にあるということです。
また、その逆も成り立ちます。そのため、静的でないクロージャにスコープとして
パラメータ
返り値
新しい Closure オブジェクトを返します。
失敗した場合に 変更履歴
例例1 Closure::bindTo() の例
<?php 上の例の出力は、 たとえば以下のようになります。 1 2 参考
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「Closure::bindTo - 新しくバインドしたオブジェクトとクラスのスコープで、クロージャを複製する」をGoogle検索
|