| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
コールバック / Callableコールバックは、PHP 5.4 以降では callable タイプヒントで表されます。 このページでは、callback 型情報を同じ目的で使っています。 call_user_func() や usort() 等の関数は、ユーザーが定義するコールバック関数を引数として受け入れます。 コールバック関数は、単純な関数だけでなく、オブジェクトのメソッド あるいはクラスの静的メソッドであってもかまいません。 受け渡しPHP 関数はその名前を単に文字列として渡します。 どのようなビルトインまたはユーザー定義の関数も渡すことができます。 ただし、 array(), echo, empty(), eval(), exit(), isset(), list(), print あるいは unset() といった言語構造はコールバックとしては使えないことに注意しましょう。 オブジェクトのインスタンスを渡すには配列を使います。 配列の 0 番目の要素にオブジェクトを、 そして 1 番目の要素にメソッド名を指定します。 protected メソッドや private メソッドは、クラスの内部からはアクセスできます。 静的なクラスメソッドの場合、オブジェクトのインスタンスは不要です。 0 番目の要素として、オブジェクトのかわりにクラス名を指定します。 PHP 5.2.3 以降では、 'ClassName::methodName' 形式で指定することもできます。 一般的なユーザー定義関数とは異なり、 無名関数 もパラメータとして渡せます。
例1 コールバック関数の例
<?php
例2 クロージャを使ったコールバックの例
<?php 上の例の出力は以下となります。 2 4 6 8 10
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「コールバック / Callable」をGoogle検索
|