WordPress5.6は、直前にメジャーバージョンが上がったばかりのPHP8への対応を始めました。
メジャーバージョンが変わっただけに、変更点もなかなかのものになっています。
結論からいうと、PHP8に完全対応するのは大変。サードパーティ製のテーマ・プラグインを使っている人はとくに。
(ほとんどそうだと思うけど。)
続きを読むWordPress5.6は、直前にメジャーバージョンが上がったばかりのPHP8への対応を始めました。
メジャーバージョンが変わっただけに、変更点もなかなかのものになっています。
結論からいうと、PHP8に完全対応するのは大変。サードパーティ製のテーマ・プラグインを使っている人はとくに。
(ほとんどそうだと思うけど。)
続きを読むPHP8では、拡張機能も含む既存関数のパラメータの初期値や期待する型とリターン値が変わるものがあります。
リターン値はif文などで判定をしているところは注意が必要です。とくに、処理が失敗したときのfalseを返さなくなったものは。
パラメータは気にするところは少ないかな。
続きを読むPHPには、http通信(curl)、SSL通信(OpenSSL)、画像処理(GD)、ソケット通信、XML(XMLWriter)など、外部リソースとやり取りする機能があります。
その中で上記の拡張機能はPHP8でクラスが追加されました。
リソース型変数に変わるクラスインスタンスに使われます。
続きを読む非推奨になっていたcreate_function()がPHP8で廃止されました。無名関数を知っている人にはどうでもいいことですが、ソースコードに残っていると致命的なエラーになって動きません。
何を今さらな情報ですが、もしまだ使っているようなら辞めましょうという話です。
続きを読むPHP8では、ログ出力を抑制するエラー制御演算子で、最高レベルのエラーは抑制されません。@をつけても出力されます。
これまで致命的なエラーのログを出力させなかったところからするといい修正。
それでも個人的にはこの機能は使うべきでないと思っています。
続きを読むPHPはエラーなどのログが出そうなところで@演算子を使うと、出力を抑えることができます。でも使ってはいけません。
PHPを使い始めて10年以上経ちますが、1回も使ったことがないし実際コードで見たこともありません。
というか、こういうのがあるのすら忘れてた。
続きを読む