PHP は、Callable に基づいてコールバック タイプを強制的に指定するメソッドを実装します。

墨辰丷
リリース: 2023-03-29 07:46:02
オリジナル
1568 人が閲覧しました

この記事では、PHP Callable にコールバックの型を強制的に指定する方法を主に紹介します。これは非常に優れており、必要な方は参考にしてください。

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

<?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' が見つからないか、関数名が無効です

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

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

要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

PHPの配列加算操作とarray_mergeとの違い

php PDO例外処理方法の詳細説明

PHP組み込み暗号化関数

以上がPHP は、Callable に基づいてコールバック タイプを強制的に指定するメソッドを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート