Last modified: 2010-05-15 15:33:02 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T4550, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 2550 - Adding special pages requires wasteful require()
Adding special pages requires wasteful require()
Status: RESOLVED INVALID
Product: MediaWiki
Classification: Unclassified
Special pages (Other open bugs)
1.4.x
All All
: Normal normal (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-06-27 13:38 UTC by Dashiva
Modified: 2010-05-15 15:33 UTC (History)
0 users

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Dashiva 2005-06-27 13:38:07 UTC
To add a special page as an extension, instead of manually editing SpecialPage.php, 
you're supposed to use SpecialPage::addPage and new SpecialPage(). These functions 
are in SpecialPage.php, which is not included/required at the point where extension 
init functions are called. This means you have to require it in the extension 
function, which again means SpecialPage.php is included on every single page load, 
not just for special pages.

Suggestion: make a $wgSpecialPageFunctions array, similar to $wgExtensionFunctions, 
but used when including SpecialPage.php (instead of Setup.php).
Comment 1 Ævar Arnfjörð Bjarmason 2005-07-04 14:44:50 UTC
If you put the require_once() inside your $wgExtensionFunction it will only be
required when the function is called and not on every page hit, if there's a
problem with specific extensions putting the require_once() outside of a
function please open seperate bugs for that.

Marking this as INVALID.
Comment 2 Dashiva 2005-07-04 15:58:13 UTC
(In reply to comment #1)
> If you put the require_once() inside your $wgExtensionFunction it will only be
> required when the function is called and not on every page hit

Except the functions in $wgExtensionFunctions are called on every page hit, meaning 
SpecialPage.php gets included regardless of whether you do it inside or outside the function.
Comment 3 Dashiva 2006-01-18 07:52:10 UTC
If including SpecialPage.php on every single page hit is a problem (as I see it) then 
do something about this bug.

If it isn't a problem, make it included by default so we don't have to put 
require_once() in every single special page we add. It's pointless redundancy.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links