PHP 8.3.x で推奨されなくなる機能

PHP コア

加算子/減算子 に対する変更

空文字列や、数値形式でない文字列、そして英数字でない文字列に対して、加算子 (++) を使うことは推奨されなくなりました。さらに、数値形式でない文字列に 加算子 を使うことも、soft-deprecated 扱いになりました。つまり、E_DEPRECATED は発生しないものの、新しいコードではこの機能を使うべきではないということです。新しい str_increment 関数を代わりに使いましょう。

空文字列や数値形式でない文字列に対して、減算子 (--) を使うことは推奨されなくなりました。

引数を渡さずに get_class()/get_parent_class() をコールする

get_classget_parent_class を、引数を渡さずにコールすることは、推奨されなくなりました。

DBA

$dba を第3引数に渡して dba_fetch をコールすることは、推奨されなくなりました。

FFI

FFI::cast, FFI::new, FFI::type を static メソッドとしてコールすることは、推奨されなくなりました。

国際化関数

定数 U_MULTIPLE_DECIMAL_SEP*E*RATORS は、推奨されなくなりました。代わりに U_MULTIPLE_DECIMAL_SEP*A*RATORS を使いましょう。

定数 NumberFormatter::TYPE_CURRENCY は、推奨されなくなりました。

LDAP

ldap_connect に、$hostname$port を別々に渡してコールすることは、推奨されなくなりました。

マルチバイト文字列

mb_strimwidth に負の $width を渡すことは、推奨されなくなりました。

Phar

resource$length を渡して Phar::setStub をコールすることは、推奨されなくなりました。$phar->setStub(stream_get_contents($resource)); に置き換えるべきです。

Random

メルセンヌ・ツイスタ の動作モード MT_RAND_PHP は、推奨されなくなりました。

リフレクション

ReflectionProperty::setValue にひとつだけ引数を渡してコールすることは、推奨されなくなりました。static プロパティを設定するには、最初の引数に null を渡します。

標準ライブラリ

assert_options 関数は、推奨されなくなりました。

定数 ASSERT_ACTIVE, ASSERT_BAIL, ASSERT_CALLBACK, ASSERT_EXCEPTION, ASSERT_WARNING は、推奨されなくなりました。

INI 設定 assert.* は、推奨されなくなりました。詳細は INI ファイルの扱いの変更 を参照ください。

SQLite3

例外を使うことが推奨されるようになりました。警告は将来のバージョンで削除されます。SQLite3::enableExceptions(false) をコールすると、このバージョンでは推奨されない警告が発生します。

Zip

定数 ZipArchive::FL_RECOMPRESS は、推奨されなくなりました。将来の libzip のバージョンで削除されます。