Doc #80481 [Fbk->Spm]: Pathetically incomplete documentation about huge bc-breaking change
| From: | nikic@php.net | Date: | Thu, 03 Dec 2020 17:34:59 +0000 |
| Subject: | Doc #80481 [Fbk->Spm]: Pathetically incomplete documentation about huge bc-breaking change | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-18191@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=80481&edit=1
ID: 80481
Updated by: nikic@php.net
Reported by: php4fan at gmail dot com
Summary: Pathetically incomplete documentation about huge
bc-breaking change
-Status: Feedback
+Status: Spam
Type: Documentation Problem
Package: Documentation problem
Operating System: all
PHP Version: Irrelevant
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2020-12-03 17:04:14] danack@php.net
Don't be abusive.
Also, PHP 7.4 was released over a year ago. If you want to make the list, to complete that
documentation, please go ahead. The documentation is maintained by users.
------------------------------------------------------------------------
[2020-12-03 17:00:18] php4fan at gmail dot com
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 this bug report at https://bugs.php.net/bug.php?id=80481&edit=1