まだ単なる表記だけのようですが、そのうち必須になる流れなのかなと思います。
現状 PHP7 以降しか使えない三項演算子「??」が使いたくてウズウズしていたので、必須になったら気兼ねなく使えそうですね!
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXVpilGusvj0-eUT56RtUMUmjN4GQN7pu4s2aFq-nuku2jRFfYh_0yYLS-RtrYTdIHeY40bnfFd1rl_3DhGUuchJSQ680nlmj7P14Tog_cAKa3C8wbKK_1ESe4j8tv9AoFSrduQmNk-jM/s200/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-09-01+11.03.48.png)
書き方
WordPress公式プラグインリポジトリが対応PHPバージョンの表記に対応(@高橋 文樹 氏)
などに詳しく説明されていますが、筆者自身への備忘録のためここでも説明しておきます。
readme.txt に「Required PHP: バージョン」を追加せよ!
ってことですね。実際には下記のような感じです。
このプラグインは PHP 5.3 以降(三項演算子 ?: 使っているので)が必須ですが、PHPのサポート状況を考えることとテスト環境が PHP 5.6.x と 7.0.x と 7.1.x なので、表記するなら PHP5.6 からかなぁと。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTsTroggsVf_O4ewqbT1lp64R2pfWDWmOyfDp4lFUlW9mcFmBjendKeNDzZ_wTcrIBDKIij0Jmwe1yKnuD9pq_ByiCaUBZdhsfpKZGJFyhFViFgpS8Ta08Xg6Jf_g25sKnL8W8mhy6-JU/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-09-01+11.04.55.png)
これが 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 件のコメント:
コメントを投稿