User "Tim Starling" posted a comment on MediaWiki.r85918. Full URL: http://www.mediawiki.org/wiki/Special:Code/MediaWiki/85918#c17724 Commit summary:
Improvements to handling of 'catastrophic' errors, like unsupported PHP versions, no MySQL functions, no LocalSettings, etc. * Fix parsing of the three major entry points (index.php, api.php, load.php) back to PHP 4.4.9. We don't care what happens if you actually try to run these files on old versions, but the entry files need to parse correctly. * consign /includes/templates/PHP4.php and /includes/templates/NoLocalSettings.php to the fiery pit of hell where they belong. * Prevent loading of any other files for PHP < 5. WebStart.php was rendered unparseable in PHP 4 by the introduction of try/catch blocks in r85327. * Die outright with a pretty error message on PHP < 5.2.3 as well as PHP 4. All versions of PHP below that throw parse errors of various sorts. * Reimplement wfDie() to provide an entry-point-dependent die-with-readable-error-message function (for instance, we want a pretty human-readable page in index.php, something wrapped in CSS/JS /*...*/ comment block in load.php, etc). * Standardise the appearance of the catastrophic errors thrown at the top of the stack with the ones lower down (exception-within-exception, etc). There isn't really a way to do this without duplication, AFAICT. Comment: I thought I documented it already, at [[HipHop#Declarations]]. Let me know if there's something unclear about that page. No, it won't work. One thing that would work would be to have a set of exception formatting classes in an autoloaded class file, then set the class name to use via a constant, global variable or static member accessor function like Exception::setFormattingClass(). That won't work for PHP 4, but I'm pretty sure I broke PHP 4 parsing in r88959. So maybe some more robust solution is needed for PHP 4, like say moving the bulk of the code out of the entry points and restoring PHP4.php. PHP4.php was better than what you have here anyway, since it was able to detect the situation where a .php5 extension will work. Or at least it did until the entry points were broken again. _______________________________________________ MediaWiki-CodeReview mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-codereview
