まだ単なる表記だけのようですが、そのうち必須になる流れなのかなと思います。
現状 PHP7 以降しか使えない三項演算子「??」が使いたくてウズウズしていたので、必須になったら気兼ねなく使えそうですね!
書き方
WordPress公式プラグインリポジトリが対応PHPバージョンの表記に対応(@高橋 文樹 氏)
などに詳しく説明されていますが、筆者自身への備忘録のためここでも説明しておきます。
readme.txt に「Required PHP: バージョン」を追加せよ!
ってことですね。実際には下記のような感じです。
このプラグインは PHP 5.3 以降(三項演算子 ?: 使っているので)が必須ですが、PHPのサポート状況を考えることとテスト環境が PHP 5.6.x と 7.0.x と 7.1.x なので、表記するなら PHP5.6 からかなぁと。
これが Required at least (WordPress のバージョン)のようにインストール時の必須項目になったら、三項演算子「??」をつかいまくってやる!!
と密かに思っているのでした。
ちょうど、 PHP カンファレンス 関西 2017 で三項演算子についてまともに話を聞いて、それから三項演算子ファンになってしまったのでした。ただ PHP 5.3や 5.6では ?? が使えないのですよね。
もし $hoge["foo"] が確実に存在するなら、
$hoge_foo = $hoge["foo"] ? $hoge["foo"] : "none";
を
$hoge_foo = $hoge["foo"] ?: "none";
とかけるのだけど、存在しない場合があるなら未定義エラーになります。
ので、下記のように書かざるをえないわけですが、
$hoge_foo = isset($hoge["foo"]) ? $hoge["foo"] : "none";
PHP7から実装された ?? を使えば、
$hoge_foo = $hoge["foo"]) ?? "none";
とスマートになるわけですよね。
そんなわけで、「Required PHP: バージョン」が必須になる日が待ち遠しいのでした。
2017年9月1日 @kimipooh
0 件のコメント:
コメントを投稿