一般社団法人 全国個人事業主支援協会

COLUMN コラム

仕事でPHPをメインに開発を行っていますが
PHPのバージョンがあがったことによる対応を行うことが増えていました。

特に
「Deprecated: Passing null to parameter #2 ($needle) of type string」の発生が多くあります。
これは、関数に渡す引数でnullが入ってくる可能性がある記載は非推奨ですよとのことです。

例えば、次の処理がある場合

strstr($hoge, 'hoge');

次のようにnullとなる可能性を除去しなければいけません。

strstr($hoge ?? '', 'hoge');

公式に理由が記載されています。
> ビルトイン関数のスカラー型の引数は、 デフォルトで nullable ですが、 この振る舞いは推奨されなくなりました。 ユーザ定義の関数においては、 スカラー型の引数は nullable と明示的にマークする必要があり、 その振る舞いと合わせるためです。
引用:ビルトイン関数の nullable でない引数に null を渡した場合

修正自体は簡単ですが、数が多いと大変ですね。

ではでは。

The following two tabs change content below.

本夛 哲也

2018年10月からフリーランスとして活動中!

最新記事 by 本夛 哲也 (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア