Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Problem/Motivation
During the D10 lifecycle, some method in interfaces were preliminarily added or typehinted by adding inline comments in place of the to-be real parameters. This allows Symfony's debug classloader to report deprecations for methods that do not implement the stealth parameters, i.e. the concrete classes will throw implementation errors even if the interfaces are not yet formally enforcing the signatures.
The following interfaces need to be adjusted prior to 11.0.0:
- Drupal\Core\Database\StatementInterface: fixed in #3256524: [11.x] Adjust Database API to remove deprecated Drupal 10 code in Drupal 11
- Drupal\Core\Form\FormBuilderInterface: fixed in #3431285: Replace func_get_args with variable-length argument in FormBuilder
- Drupal\Core\Session\AccountInterface: #3415189: Tighten typehint in UserSession::hasPermission() and User::hasPermission()
Comments
Comment #2
Gábor HojtsyUpdating title, tags and version number based on recent announcement at https://www.drupal.org/about/core/blog/new-drupal-core-branching-scheme-...
Comment #3
quietone CreditAttribution: quietone at PreviousNext commentedAdd parent for D11.
Comment #4
mondrakeComment #5
mondrakeThis meta can be probably closed now?
Comment #6
smustgrave CreditAttribution: smustgrave at Mobomo commentedDoes seems like all issues mentioned have been closed. Not sure I can close a META
Comment #7
longwaveWhat about
AccountInterface::hasPermission()
?#3415189: Tighten typehint in UserSession::hasPermission() and User::hasPermission()
I found this by searching for
function.*\*
, this is the only remaining instance.Comment #8
mondrakeYes.