Doc #80481 [NEW]: Pathetically incomplete documentation about huge bc-breaking change
| From: | php4fan at gmail dot com | Date: | Thu, 03 Dec 2020 17:00:18 +0000 |
| Subject: | Doc #80481 [NEW]: Pathetically incomplete documentation about huge bc-breaking change | ||
| Groups: | php.doc.bugs | ||
| Request: | Send a blank email to doc-bugs+get-18189@lists.php.net to get a copy of this message | ||
From: php4fan at gmail dot com
Operating system: all
PHP version: Irrelevant
Package: Documentation problem
Bug Type: Documentation Problem
Bug description:Pathetically incomplete documentation about huge bc-breaking change
Description:
------------
---
From manual page: https://php.net/migration74.incompatible
---
In particular:
https://www.php.net/manual/en/migration74.incompatible.php#migration74.incompatible.spl
The lack of detail in this section is appalling. This is a major
bc-breaking change with devastating impact (actually this should never
have happened in a .x release, this is the kind of breaking change that
you think twice before making even in a major version jump, i.e. from
7.x to 8.x) and hence it should be documented with extreme precision.
It says:
"""
Calling get_object_vars() on an ArrayObject instance will now always
return the properties of the ArrayObject itself (or a subclass).
Previously it returned the values of the wrapped array/object unless
[...]
Other affected operations are:
- [...]
- reset(), current(), etc. Use Iterator methods instead.
"""
"Etc"???? Are you kidding? Make a complete list!!
Affected how?? It's completely unclear how the behaviour change
described for get_object_vars() can be applied to completely
uncomparable functions like reset() and current().
And then:
"""
- Potentially others working on object properties as a list.
"""
What the ****???? POTENTIALLY OTHERS??? You introduced a major change in
behavior that is devastating with regards to backwards compatibility,
and you don't even bother figuring out exactly what functions and
constructs are affected and making an exhaustive list?
This is unbelievable.
Test script:
---------------
.
Expected result:
----------------
.
Actual result:
--------------
.
--
Edit bug report at https://bugs.php.net/bug.php?id=80481&edit=1
--
Fix committed: https://bugs.php.net/fix.php?id=80481&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=80481&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=80481&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=80481&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=80481&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=80481&r=support
Expected behavior: https://bugs.php.net/fix.php?id=80481&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=80481&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=80481&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=80481&r=globals
PHP version support discontinued: https://bugs.php.net/fix.php?id=80481&r=phptooold
Daylight Savings: https://bugs.php.net/fix.php?id=80481&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=80481&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=80481&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=80481&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=80481&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=80481&r=mysqlcfg