mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
9308974f8c
The purpose of mbstring is for working with Unicode and legacy text encodings; but Base64, QPrint, etc. are not text encodings and don't really belong in mbstring. PHP already contains separate implementations of Base64, QPrint, and HTML entities. It will be better to eventually remove these non-encodings from mbstring. Regarding HTML entities... there is a bit more to say. mbstring's implementation of HTML entities is different from the other built-in implementation (htmlspecialchars and htmlentities). Those functions convert <, >, and & to HTML entities, but mbstring does not. It appears that the original author of mbstring intended for something to be done with <, >, and &. He used a table to identify which characters should be converted to HTML entities, and </>/& all have a special value in that table. However, nothing ever checks for that special value, so the characters are passed through unconverted. This seems like a very useless implementation of HTML entities. The most important characters which need to be expressed as entities in HTML documents are those three!
119 lines
3.7 KiB
Plaintext
119 lines
3.7 KiB
Plaintext
PHP 8.2 UPGRADE NOTES
|
|
|
|
1. Backward Incompatible Changes
|
|
2. New Features
|
|
3. Changes in SAPI modules
|
|
4. Deprecated Functionality
|
|
5. Changed Functions
|
|
6. New Functions
|
|
7. New Classes and Interfaces
|
|
8. Removed Extensions and SAPIs
|
|
9. Other Changes to Extensions
|
|
10. New Global Constants
|
|
11. Changes to INI File Handling
|
|
12. Windows Support
|
|
13. Other Changes
|
|
14. Performance Improvements
|
|
|
|
========================================
|
|
1. Backward Incompatible Changes
|
|
========================================
|
|
|
|
========================================
|
|
2. New Features
|
|
========================================
|
|
|
|
- Curl:
|
|
. Added CURLINFO_EFFECTIVE_METHOD option and returning the effective
|
|
HTTP method in curl_getinfo() return value.
|
|
|
|
========================================
|
|
3. Changes in SAPI modules
|
|
========================================
|
|
|
|
========================================
|
|
4. Deprecated Functionality
|
|
========================================
|
|
|
|
- Core:
|
|
. Callables that are not accepted by the $callable() syntax (but are accepted
|
|
by call_user_func) are deprecated. In particular:
|
|
|
|
"self::method"
|
|
"parent::method"
|
|
"static::method"
|
|
["self", "method"]
|
|
["parent", "method"]
|
|
["static", "method"]
|
|
["Foo", "Bar::method"]
|
|
[new Foo, "Bar::method"]
|
|
|
|
This does not affect normal method callables like "A::method" or
|
|
["A", "method"]. A deprecation notice is only emitted on call. Both
|
|
is_callable() and the callable type will silently accept these callables
|
|
until support for them is removed entirely.
|
|
|
|
RFC: https://wiki.php.net/rfc/deprecate_partially_supported_callables
|
|
|
|
- Mbstring:
|
|
. Use of QPrint, Base64, Uuencode, and HTML-ENTITIES 'text encodings' is
|
|
deprecated for all Mbstring functions. Unlike all the other text
|
|
encodings supported by Mbstring, these do not encode a sequence of
|
|
Unicode codepoints, but rather a sequence of raw bytes. It is not
|
|
clear what the correct return values for most Mbstring functions should
|
|
be when one of these non-encodings is specified. Further, PHP has
|
|
separate, built-in implementations of all of them; for example, UUencoded
|
|
data can be handled using convert_uuencode/convert_uudecode.
|
|
|
|
========================================
|
|
5. Changed Functions
|
|
========================================
|
|
|
|
- DBA
|
|
. dba_fetch()'s optional skip argument is now at the end in line with
|
|
PHP userland semantics its signature now is:
|
|
dba_fetch(string|array $key, $dba, int $skip = 0): string|false
|
|
The overloaded signature
|
|
dba_fetch(string|array $key, $skip, $dba): string|false
|
|
is still accepted, but it is recommended to use the new standard variant.
|
|
|
|
========================================
|
|
6. New Functions
|
|
========================================
|
|
|
|
========================================
|
|
7. New Classes and Interfaces
|
|
========================================
|
|
|
|
========================================
|
|
8. Removed Extensions and SAPIs
|
|
========================================
|
|
|
|
========================================
|
|
9. Other Changes to Extensions
|
|
========================================
|
|
|
|
- Zip:
|
|
. extension updated to 1.20.0 with new methods:
|
|
ZipArchive::clearError, getStreamName and getStreamIndex
|
|
|
|
========================================
|
|
10. New Global Constants
|
|
========================================
|
|
|
|
========================================
|
|
11. Changes to INI File Handling
|
|
========================================
|
|
|
|
========================================
|
|
12. Windows Support
|
|
========================================
|
|
|
|
========================================
|
|
13. Other Changes
|
|
========================================
|
|
|
|
========================================
|
|
14. Performance Improvements
|
|
========================================
|