下位互換性のない変更点DateDateTime::createFromImmutable の仮の戻り値の型が、 static になりました。 これより前のバージョンでは、DateTime でした。 DateTimeImmutable::createFromMutable の仮の戻り値の型が、 static になりました。 これより前のバージョンでは、DateTimeImmutable でした。
相対的な書式 の ODBCODBC 拡張モジュールは、ユーザー名/パスワードと接続文字列が両方渡された場合に、 ユーザー名とパスワードをエスケープするようになりました。そして、 エスケープ済みのものを接続文字列と結合することが必須になりました。 これより前のバージョンでは、 エスケープする必要がある値が含まれたユーザー指定の文字列によって、悪意ある接続文字列を生成される可能性がありました。 また、ユーザー指定の文字列を値に注入されてしまう可能性もありました。 このエスケープのルールは .NET BCL の DbConnectionOptions の振る舞いと同じです。 PDO_ODBCPDO_ODBC 拡張モジュールは、接続文字列を渡した場合にユーザー名とパスワードをエスケープするようになりました。 詳細は ODBC の変更点 を参照ください。 標準ライブラリ
glob は、
すべてのパスが open_basedir によって制限されている場合に、
空の配列を返すようになりました。
これより前のバージョンでは、
FilesystemIterator::__construct を使うと、
以前のバージョンでは
strtolower,
strtoupper,
stristr,
stripos,
strripos,
lcfirst,
ucfirst,
ucwords,
str_ireplace は、ロケールに依存しなくなりました。
これらは、ロケールが "C" であったかのように ASCII のケース変換を行います。
これらの関数のロケール対応版は、マルチバイト文字列 関数で使えます。
さらに、array_change_key_case 関数を使った場合や、
str_split は、空文字列を渡した場合に、空の配列を返すようになりました。 これより前のバージョンでは、空文字列の要素が一つ入った配列を返していました。 mb_str_split は、既に空の配列を返しているため、影響を受けません。
ksort と krsort は、
var_export は、クラス名をエクスポートする際、 先頭のバックスラッシュを省略しなくなりました。 つまり、エクスポートされるクラス名は完全修飾名になりました。 Standard PHP Library (SPL)以下のメソッドは、シグネチャを強制するようになりました:
SplFileObject::hasChildren の仮の戻り値の型が、 false になりました。 これより前のバージョンでは、bool でした。 SplFileObject::getChildren の仮の戻り値の型が、 null になりました。 これより前のバージョンでは、RecursiveIteratornull でした。
GlobIterator は、
すべてのパスが open_basedir によって制限されている場合に、
空の配列を返すようになりました。
これより前のバージョンでは、 |