Remove use of &$this in hooks as it triggers warnings in PHP 7.1 (#4)

Code like Hooks::run( 'WantedPages::getQueryInfo', [ &$this, &$query ] ); will trigger warnings in PHP 7.1. Ideally the solution would be to remove &, which hasn't been needed since PHP 4, however that breaks backwards-compatibility.

Instead, we can rename $this to a different variable, and then pass it by reference. Example:

// Avoid PHP 7.1 warning of passing $this by reference
$editPage = $this;
Hooks::run( 'EditPage::showEditForm:initial', [ &$editPage, &$out ] );

See /

Example commit:

More information:

You are expected to provide patches in Wikimedia Gerrit (one patch for each repository). See for how to set up Git and Gerrit.

The repositories / files to fix for this task are:

  • skins/WPtouch/ Hooks::run( 'SkinTemplateToolboxEnd', array( &$this, true ) );
  • skins/DuskToDawn/includes/DuskToDawnTemplate.php: Hooks::run( 'SkinTemplateToolboxEnd', array( &$this, true ) );
  • skins/Bouquet/includes/BouquetTemplate.php: Hooks::run( 'SkinTemplateToolboxEnd', array( &$this, true ) );

Task tags

  • php
  • cleanup

Students who completed this task

Lukas A

Task type

  • code Code
  • done_all Quality Assurance