PHPの中で、call_user_func関数をどのように使えばいいですか?
PHPで、call_user_func関数を使用すると、指定された関数またはメソッドを呼び出すことができます。call_user_func関数を使用する構文は以下のようになります。
call_user_func(callable $callback [, $parameter [, ...]])
$callbackパラメータは、呼び出し可能なコールバック関数であり、関数名の文字列、配列(配列の最初の要素がオブジェクトまたはクラス名であり、2番目の要素がメソッド名である)、または無名関数のいずれかにすることができます。$parameterパラメータは、コールバック関数に渡されるパラメータを指定します。
「call_user_func関数を使用する例をいくつか示します。」
- 関数を呼び出す:
function greet($name) {
echo "Hello, $name!";
}
call_user_func('greet', 'John');
- オブジェクトのメソッドを呼び出す:
class Greeting {
public function sayHello($name) {
echo "Hello, $name!";
}
}
$greeting = new Greeting();
call_user_func([$greeting, 'sayHello'], 'John');
- 無名関数を呼び出す:
$greet = function($name) {
echo "Hello, $name!";
};
call_user_func($greet, 'John');
PHP 7.0.0バージョン以降、call_user_func関数は廃止されており、コールバック関数を呼び出す際には$callback(…$parameters)構文を使用することが推奨されています。