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

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

高洛峰
高洛峰オリジナル
2016-12-30 14:12:591170ブラウズ

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

<?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: Argument 1 Passed to dosth() should be callable
プログラムは dosth の内部処理を実行できません。パラメータ タイプから、保護するためにすでに検査および処理されています。

そして呼び出し可能なものが削除された場合

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

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

dosthの内部処理までプログラムを実行することができますが、このコールバックメソッドが呼び出せるかどうかを確認するために多くの手間がかかります。

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

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

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

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