Right now there's a few points:

* Minimum php versions are all over the source code, putting it in
DefaultSettings.php or Defines.php would make be a good start, that
way all hardcoded uses of the versions after those are loaded can be
centralized.
However there are many php-versions compared before those are included
as well ( all (web) entry points and other files parsed before the
inclusion of DefaultSettings and/or Defines).

So a better solution would be to get those versions available right at
the beginning of the web entry points.

Possible solutions:

1) Instead of putting the define() or $wg...= in DefaultSettings.php /
Defines.php, create namethisfile.php and put them in there and include
it in the all entry points.

This seems like a simple and quick solution but introduces yet another
always-included file and puts them far away from other global
variables and defines.

2) Put it in Defines.php
* make it independant (ie. only defines(), nothing else, as the
filename suggests)
* and move it up the call stack

Things like inclusion of UtfNormalDefines could be put in the places
where Defines.php is currenty included[1] and assignment of the
$wgFeedClasses variable shouldn't be in Defines.php anyway.

3) Just put them in DefaultSettings.php and Defines.php and replace
all uses with the globals where they are hardcoded and available. Any
uses before this file is loaded (entry points) can hard code it

The third solution is basically what I was going to do, and can be
safely done. But before I do so I'd like to know if the solutions that
cover all scenarios are do-able.


--
Krinkle

[1] UtfNormalDefines.php may not have to be moved though, looks good
on second thought. It's included everywhere anyway so it doesn't save
load by loading it later or earlier.

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to