0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2025-03-23 14:27:02 +00:00

Use prepend for autoloading on PHP 5.3+

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
This commit is contained in:
Edward Z. Yang 2012-05-02 11:07:24 -04:00
parent 2189a9430f
commit cb7162a995
2 changed files with 29 additions and 23 deletions

1
NEWS
View File

@ -14,6 +14,7 @@ NEWS ( CHANGELOG and HISTORY ) HTMLPurifier
this also means it's no longer possible to override attribute this also means it's no longer possible to override attribute
transforms in later modules. No internal code was using this transforms in later modules. No internal code was using this
but this may break some clients. but this may break some clients.
- Use prepend for SPL autoloading on PHP 5.3 and later.
4.4.0, released 2012-01-18 4.4.0, released 2012-01-18
# Removed PEARSax3 handler. # Removed PEARSax3 handler.

View File

@ -70,6 +70,10 @@ class HTMLPurifier_Bootstrap
if ( ($funcs = spl_autoload_functions()) === false ) { if ( ($funcs = spl_autoload_functions()) === false ) {
spl_autoload_register($autoload); spl_autoload_register($autoload);
} elseif (function_exists('spl_autoload_unregister')) { } elseif (function_exists('spl_autoload_unregister')) {
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
// prepend flag exists, no need for shenanigans
spl_autoload_register($autoload, true, true);
} else {
$buggy = version_compare(PHP_VERSION, '5.2.11', '<'); $buggy = version_compare(PHP_VERSION, '5.2.11', '<');
$compat = version_compare(PHP_VERSION, '5.1.2', '<=') && $compat = version_compare(PHP_VERSION, '5.1.2', '<=') &&
version_compare(PHP_VERSION, '5.1.0', '>='); version_compare(PHP_VERSION, '5.1.0', '>=');
@ -98,6 +102,7 @@ class HTMLPurifier_Bootstrap
foreach ($funcs as $func) spl_autoload_register($func); foreach ($funcs as $func) spl_autoload_register($func);
} }
} }
}
} }