[GIT-PULLS] [php-src] PR #23329: session: fix create_sid()/validateId() check depending on interface order
[email protected] (lazerg)
| Newsgroups | php.git-pulls |
|---|---|
| Message-ID | <[email protected]> |
Pull Request: https://github.com/php/php-src/pull/23329 Author: lazerg `session_handler_interface_gets_implemented()` runs while `SessionHandlerInterface` is being attached to the class, so `class->function_table` only holds what the class itself declares. Interfaces listed after it have not contributed their abstract methods yet, which is why the warning fires or not depending on the order of the `implements` list. The check now also looks at the interface list, which `zend_do_implement_interfaces()` fills in before it starts calling the handlers. That covers sibling interfaces extending `SessionIdInterface` or `SessionUpdateTimestampHandlerInterface` too. Closes #23328