エラー状態 (データベース接続エラー、無効な入力など) が原因で、残りの PHP コード ブロックをスキップする必要がある状況にいくつか遭遇しました。学生の頃、私の教授は単純に を使用してdie
いました。これにより、ファイルの解析が完全に停止し、ページが不完全なままになり、フッターや HTML の終了タグさえもありません</body></html>
。エラーが発生した場合でも、終了タグを切り取って無効な HTML を生成する理由はありません。
もちろん、純粋に構造化されたアプローチではif
ステートメントを使用しますが、これはgoto
ほとんどの状況でより望ましい方法です。ただし、PHP コード ブロックから飛び出そうとしているだけなら、if
/構造体に大きなコード セグメントを配置するのはかなり洗練されておらず、単純に / 構造体にジャンプするステートメントをelse
使用するよりも実際にコードを理解しにくくする可能性があると思います。 goto
PHP ブロックの最後 ( の直前) は、一連のコード全体が実際にはorの行?>
から 50 行以上下の条件ステートメントの一部であることを思い出すのが難しくなるためです。if
elseif
goto
ステートメントは良くないと誰もが言いますgoto
が、コードを理解しやすくするための有効な使用法があります。たとえば、深くネストされた制御構造から飛び出したり、PHP コード ブロックの最後にジャンプしたりします (組み込みの言語構造が存在しない場合)。それを行うため)。
のようなコード構造goto
は本質的に悪ではありません。それはあなたがそれをどのように使用するかにかかっています。