phpでソースコードを読んでいる時(レビューとかで)、ある日、接頭辞に「@」がついている関数を目のあたりにしました。
■ 接頭辞に「@」がついている関数
code
<?php
@exif_read_data // 色んな関数に接頭辞を付けることができる。
まあ、何か意味あんねんやろうなーと思いつつ、パッとググっても出てこない・・(多分、ググり方が悪い → php 関数 接頭辞 @ → 出てこない → キッ → ウチのキーワードにしとこ)
で、ズバリ何の意味かというと、「Warningなど、仕様上のエラーを握りつぶす!」という荒業でした。
■ PHPの「エラー制御演算子」
https://www.php.net/manual/ja/language.operators.errorcontrol.php
チーム内でソースコードの統一を図る目的として、composerでphpcsを導入し、cs-checkをかましてるんですが、どうやら非推奨で警告を受けます。(まあ、そうなるか。。)
ちなみに、phpcsで警告にならないように設定することも可能です。
更にコメント // phpcs:ignore
を付けて該当ファイルの該当の行だけ無視することも可能です。(色々ありますね。)
レアケースになるのであれば、コメントをつけて警告をスルーしてしまう方がよいかもですね。
処理によっては、違う箇所で例外を出したり、任意で処理が止まってほしい場合って、ケースによってはあるものです。
ただ、できるなら非推奨な書き方は避けることが「正」だと思うので、極力使うのは避けましょうー