ホームページ  >  記事  >  バックエンド開発  >  PHP Callable はメソッドにコールバック タイプを強制的に指定します

PHP Callable はメソッドにコールバック タイプを強制的に指定します

高洛峰
高洛峰オリジナル
2016-12-22 15:40:21951ブラウズ

メソッドがパラメータとしてコールバック メソッドを受け入れる必要がある場合は、次のように記述できます

<?php
function dosth($callback){
call_user_func($callback);
}
function callback(){
echo &#39;do sth callback&#39;;
}
dosth(&#39;callback&#39;);
?>

出力:

do sth callback

しかし、コールバック メソッドを呼び出せるかどうかはわかりません。そのため、このコールバック メソッドを呼び出せるかどうかを確認するために、多くの追加作業を行う必要があります。

コールバック メソッドが呼び出し可能かどうかを判断するより良い方法はありますか?
callable を使用してパラメータを強制的にコールバック型にすることができます。これにより、コールバック メソッドが呼び出し可能であることが保証されます。

たとえば、コールバック メソッドは存在しないメソッドです

<?php
function dosth(callable $callback){
call_user_func($callback);
}
dosth(&#39;abc&#39;);
?>

実行後、次のエラーが表示されます: TypeError: dosth() に渡される引数 1 は呼び出し可能である必要があります
プログラムは内部処理を実行できませんdosth、パラメータから タイプはチェックされ、保護のために処理されました。

そして、呼び出し可能オブジェクトが削除された場合

<?php
function dosth($callback){
call_user_func($callback);
}
dosth(&#39;abc&#39;);
?>

実行後、警告が表示されます: 警告: call_user_func() はパラメータ 1 が有効なコールバックであることを期待しています、関数 'abc' が見つからないか、関数名が無効です

プログラム内部処理を実行できるため、このコールバック メソッドを呼び出せるかどうかを確認するには、多くの追加作業を行う必要があります。

したがって、メソッドのパラメータがコールバックメソッドである場合は、コールバックタイプとして強制的に指定するために callable を追加する必要があります。これにより、呼び出しエラーが減り、プログラムの品質が向上します。

上記は、PHP Callable でコールバックの型を強制的に指定するためにエディターが紹介した方法です。ご質問があれば、メッセージを残してください。エディターが返信します。間に合うようにあなたに。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。

コールバックの型を強制的に指定する PHP Callable のメソッドに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。