* 请确保在所有的autoload实现后加载本文件,否则无法缓存 * * @return void */ public static function enableLazyLoad() { if (!function_exists('spl_autoload_register')) { require_once 'Shine/Exception.php'; throw new Shine_Exception('spl_autoload does not exist in this PHP installation'); } $all = spl_autoload_functions(); if ($all) { foreach ($all as $val) { spl_autoload_unregister($val); } } spl_autoload_register(array(__CLASS__, 'autoload')); if ($all) { foreach ($all as $val) { spl_autoload_register($val); } } } } Shine::enableLazyLoad(); Shine::loadShineClass('Shine_FilterExpression'); Shine::loadShineClass('Shine_Lexer'); Shine::loadShineClass('Shine_Parser'); Shine::loadShineClass('Shine_Token'); Shine::loadShineClass('Shine_Variable'); Shine::loadShineClass('Shine_Context');