PHP WEB開発

PHP-関数・メソッドの接頭辞に「@」は何の効果があるの?

※本サイトはPR表記を含みます。

 

phpでソースコードを読んでいる時(レビューとかで)、ある日、接頭辞に「@」がついている関数を目のあたりにしました。

■ 接頭辞に「@」がついている関数

 code
<?php
@exif_read_data // 色んな関数に接頭辞を付けることができる。

 

まあ、何か意味あんねんやろうなーと思いつつ、パッとググっても出てこない・・(多分、ググり方が悪い → php 関数 接頭辞 @ → 出てこない → キッ → ウチのキーワードにしとこ)

で、ズバリ何の意味かというと、「Warningなど、仕様上のエラーを握りつぶす!」という荒業でした。

 

チーム内でソースコードの統一を図る目的として、composerphpcsを導入し、cs-checkをかましてるんですが、どうやら非推奨で警告を受けます。(まあ、そうなるか。。)

 

ちなみに、phpcsで警告にならないように設定することも可能です。

 

更にコメント // phpcs:ignore を付けて該当ファイルの該当の行だけ無視することも可能です。(色々ありますね。)

レアケースになるのであれば、コメントをつけて警告をスルーしてしまう方がよいかもですね。

 

処理によっては、違う箇所で例外を出したり、任意で処理が止まってほしい場合って、ケースによってはあるものです。

ただ、できるなら非推奨な書き方は避けることが「正」だと思うので、極力使うのは避けましょうー

 

-PHP, WEB開発
-