From 7ab1cca82cd135a8c9e9f55d682a6d16f5171adc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=9E=8C=EC=B8=A0?= <82g74nx0bm69@naver.com> Date: Tue, 30 Jun 2015 12:33:43 +0900 Subject: [PATCH] =?UTF-8?q?=5F=5FXE=5FLOADED=5FCLASS=5F=5F=20=EB=B3=80?= =?UTF-8?q?=EC=88=98=EB=8A=94=20=EC=96=B4=EB=94=94=EC=97=90=EC=84=9C?= =?UTF-8?q?=EB=8F=84=20=EC=84=A0=EC=96=B8=EB=90=98=EC=A7=80=20=EC=95=8A?= =?UTF-8?q?=EC=8A=B5=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit __XE_LOADED_CLASS__ 변수는 여기말고 어디에서도 선언/사용되지 않는데 조건문을 빼는게 어떨까요? --- config/config.inc.php | 261 +++++++++++++++++++++--------------------- 1 file changed, 128 insertions(+), 133 deletions(-) diff --git a/config/config.inc.php b/config/config.inc.php index 155b9f2b2..165610621 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -282,151 +282,146 @@ if(version_compare(PHP_VERSION, '5.3.0') >= 0) date_default_timezone_set(@date_default_timezone_get()); } -if(!defined('__XE_LOADED_CLASS__')) +// Require a function-defined-file for simple use +require(_XE_PATH_ . 'config/func.inc.php'); + +if(__DEBUG__) { + define('__StartTime__', getMicroTime()); +} + +if(__DEBUG__) { + $GLOBALS['__elapsed_class_load__'] = 0; +} + +$GLOBALS['__xe_autoload_file_map'] = array_change_key_case(array( + 'CacheBase' => 'classes/cache/CacheHandler.class.php', + 'CacheHandler' => 'classes/cache/CacheHandler.class.php', + 'Context' => 'classes/context/Context.class.php', + 'DB' => 'classes/db/DB.class.php', + 'Query' => 'classes/db/queryparts/Query.class.php', + 'Subquery' => 'classes/db/queryparts/Subquery.class.php', + 'Condition' => 'classes/db/queryparts/condition/Condition.class.php', + 'ConditionGroup' => 'classes/db/queryparts/condition/ConditionGroup.class.php', + 'ConditionSubquery' => 'classes/db/queryparts/condition/ConditionSubquery.class.php', + 'ConditionWithArgument' => 'classes/db/queryparts/condition/ConditionWithArgument.class.php', + 'ConditionWithoutArgument' => 'classes/db/queryparts/condition/ConditionWithoutArgument.class.php', + 'ClickCountExpression' => 'classes/db/queryparts/expression/ClickCountExpression.class.php', + 'DeleteExpression' => 'classes/db/queryparts/expression/DeleteExpression.class.php', + 'Expression' => 'classes/db/queryparts/expression/Expression.class.php', + 'InsertExpression' => 'classes/db/queryparts/expression/InsertExpression.class.php', + 'SelectExpression' => 'classes/db/queryparts/expression/SelectExpression.class.php', + 'StarExpression' => 'classes/db/queryparts/expression/StarExpression.class.php', + 'UpdateExpression' => 'classes/db/queryparts/expression/UpdateExpression.class.php', + 'UpdateExpressionWithoutArgument' => 'classes/db/queryparts/expression/UpdateExpressionWithoutArgument.class.php', + 'Limit' => 'classes/db/queryparts/limit/Limit.class.php', + 'OrderByColumn' => 'classes/db/queryparts/order/OrderByColumn.class.php', + 'CubridTableWithHint' => 'classes/db/queryparts/table/CubridTableWithHint.class.php', + 'IndexHint' => 'classes/db/queryparts/table/IndexHint.class.php', + 'JoinTable' => 'classes/db/queryparts/table/JoinTable.class.php', + 'MssqlTableWithHint' => 'classes/db/queryparts/table/MssqlTableWithHint.class.php', + 'MysqlTableWithHint' => 'classes/db/queryparts/table/MysqlTableWithHint.class.php', + 'Table' => 'classes/db/queryparts/table/Table.class.php', + 'DisplayHandler' => 'classes/display/DisplayHandler.class.php', + 'HTMLDisplayHandler' => 'classes/display/HTMLDisplayHandler.php', + 'JSCallbackDisplayHandler' => 'classes/display/JSCallbackDisplayHandler.php', + 'JSONDisplayHandler' => 'classes/display/JSONDisplayHandler.php', + 'VirtualXMLDisplayHandler' => 'classes/display/VirtualXMLDisplayHandler.php', + 'XMLDisplayHandler' => 'classes/display/XMLDisplayHandler.php', + 'EditorHandler' => 'classes/editor/EditorHandler.class.php', + 'ExtraVar' => 'classes/extravar/Extravar.class.php', + 'ExtraItem' => 'classes/extravar/Extravar.class.php', + 'FileHandler' => 'classes/file/FileHandler.class.php', + 'FileObject' => 'classes/file/FileObject.class.php', + 'FrontEndFileHandler' => 'classes/frontendfile/FrontEndFileHandler.class.php', + 'Handler' => 'classes/handler/Handler.class.php', + 'XEHttpRequest' => 'classes/httprequest/XEHttpRequest.class.php', + 'Mail' => 'classes/mail/Mail.class.php', + 'Mobile' => 'classes/mobile/Mobile.class.php', + 'ModuleHandler' => 'classes/module/ModuleHandler.class.php', + 'ModuleObject' => 'classes/module/ModuleObject.class.php', + 'Object' => 'classes/object/Object.class.php', + 'PageHandler' => 'classes/page/PageHandler.class.php', + 'EmbedFilter' => 'classes/security/EmbedFilter.class.php', + 'IpFilter' => 'classes/security/IpFilter.class.php', + 'Password' => 'classes/security/Password.class.php', + 'Purifier' => 'classes/security/Purifier.class.php', + 'Security' => 'classes/security/Security.class.php', + 'UploadFileFilter' => 'classes/security/UploadFileFilter.class.php', + 'TemplateHandler' => 'classes/template/TemplateHandler.class.php', + 'Validator' => 'classes/validator/Validator.class.php', + 'WidgetHandler' => 'classes/widget/WidgetHandler.class.php', + 'GeneralXmlParser' => 'classes/widget/GeneralXmlParser.class.php', + 'Xml_Node_' => 'classes/xml/XmlParser.class.php', + 'XmlGenerator' => 'classes/xml/XmlGenerator.class.php', + 'XmlJsFilter' => 'classes/xml/XmlJsFilter.class.php', + 'XmlLangParser' => 'classes/xml/XmlLangParser.class.php', + 'XmlParser' => 'classes/xml/XmlParser.class.php', + 'XmlQueryParser' => 'classes/xml/XmlQueryParser.class.php', + 'DBParser' => 'classes/xml/xmlquery/DBParser.class.php', + 'QueryParser' => 'classes/xml/xmlquery/QueryParser.class.php', + 'Argument' => 'classes/xml/xmlquery/argument/Argument.class.php', + 'ConditionArgument' => 'classes/xml/xmlquery/argument/ConditionArgument.class.php', + 'SortArgument' => 'classes/xml/xmlquery/argument/SortArgument.class.php', + 'DefaultValue' => 'classes/xml/xmlquery/queryargument/DefaultValue.class.php', + 'QueryArgument' => 'classes/xml/xmlquery/queryargument/QueryArgument.class.php', + 'SortQueryArgument' => 'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php', + 'QueryArgumentValidator' => 'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php', + 'ColumnTag' => 'classes/xml/xmlquery/tags/column/ColumnTag.class.php', + 'InsertColumnTag' => 'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php', + 'InsertColumnTagWithoutArgument' => 'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php', + 'InsertColumnsTag' => 'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php', + 'SelectColumnTag' => 'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php', + 'SelectColumnsTag' => 'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php', + 'UpdateColumnTag' => 'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php', + 'UpdateColumnsTag' => 'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php', + 'ConditionGroupTag' => 'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php', + 'ConditionTag' => 'classes/xml/xmlquery/tags/condition/ConditionTag.class.php', + 'ConditionsTag' => 'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php', + 'JoinConditionsTag' => 'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php', + 'GroupsTag' => 'classes/xml/xmlquery/tags/group/GroupsTag.class.php', + 'IndexTag' => 'classes/xml/xmlquery/tags/navigation/IndexTag.class.php', + 'LimitTag' => 'classes/xml/xmlquery/tags/navigation/LimitTag.class.php', + 'NavigationTag' => 'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php', + 'QueryTag' => 'classes/xml/xmlquery/tags/query/QueryTag.class.php', + 'HintTableTag' => 'classes/xml/xmlquery/tags/table/HintTableTag.class.php', + 'TableTag' => 'classes/xml/xmlquery/tags/table/TableTag.class.php', + 'TablesTag' => 'classes/xml/xmlquery/tags/table/TablesTag.class.php', +), CASE_LOWER); + +function __xe_autoload($class_name) { - // Require a function-defined-file for simple use - require(_XE_PATH_ . 'config/func.inc.php'); - if(__DEBUG__) { - define('__StartTime__', getMicroTime()); + $time_at = getMicroTime(); } - if(__DEBUG__) { - $GLOBALS['__elapsed_class_load__'] = 0; - } - - $GLOBALS['__xe_autoload_file_map'] = array_change_key_case(array( - 'CacheBase' => 'classes/cache/CacheHandler.class.php', - 'CacheHandler' => 'classes/cache/CacheHandler.class.php', - 'Context' => 'classes/context/Context.class.php', - 'DB' => 'classes/db/DB.class.php', - 'Query' => 'classes/db/queryparts/Query.class.php', - 'Subquery' => 'classes/db/queryparts/Subquery.class.php', - 'Condition' => 'classes/db/queryparts/condition/Condition.class.php', - 'ConditionGroup' => 'classes/db/queryparts/condition/ConditionGroup.class.php', - 'ConditionSubquery' => 'classes/db/queryparts/condition/ConditionSubquery.class.php', - 'ConditionWithArgument' => 'classes/db/queryparts/condition/ConditionWithArgument.class.php', - 'ConditionWithoutArgument' => 'classes/db/queryparts/condition/ConditionWithoutArgument.class.php', - 'ClickCountExpression' => 'classes/db/queryparts/expression/ClickCountExpression.class.php', - 'DeleteExpression' => 'classes/db/queryparts/expression/DeleteExpression.class.php', - 'Expression' => 'classes/db/queryparts/expression/Expression.class.php', - 'InsertExpression' => 'classes/db/queryparts/expression/InsertExpression.class.php', - 'SelectExpression' => 'classes/db/queryparts/expression/SelectExpression.class.php', - 'StarExpression' => 'classes/db/queryparts/expression/StarExpression.class.php', - 'UpdateExpression' => 'classes/db/queryparts/expression/UpdateExpression.class.php', - 'UpdateExpressionWithoutArgument' => 'classes/db/queryparts/expression/UpdateExpressionWithoutArgument.class.php', - 'Limit' => 'classes/db/queryparts/limit/Limit.class.php', - 'OrderByColumn' => 'classes/db/queryparts/order/OrderByColumn.class.php', - 'CubridTableWithHint' => 'classes/db/queryparts/table/CubridTableWithHint.class.php', - 'IndexHint' => 'classes/db/queryparts/table/IndexHint.class.php', - 'JoinTable' => 'classes/db/queryparts/table/JoinTable.class.php', - 'MssqlTableWithHint' => 'classes/db/queryparts/table/MssqlTableWithHint.class.php', - 'MysqlTableWithHint' => 'classes/db/queryparts/table/MysqlTableWithHint.class.php', - 'Table' => 'classes/db/queryparts/table/Table.class.php', - 'DisplayHandler' => 'classes/display/DisplayHandler.class.php', - 'HTMLDisplayHandler' => 'classes/display/HTMLDisplayHandler.php', - 'JSCallbackDisplayHandler' => 'classes/display/JSCallbackDisplayHandler.php', - 'JSONDisplayHandler' => 'classes/display/JSONDisplayHandler.php', - 'VirtualXMLDisplayHandler' => 'classes/display/VirtualXMLDisplayHandler.php', - 'XMLDisplayHandler' => 'classes/display/XMLDisplayHandler.php', - 'EditorHandler' => 'classes/editor/EditorHandler.class.php', - 'ExtraVar' => 'classes/extravar/Extravar.class.php', - 'ExtraItem' => 'classes/extravar/Extravar.class.php', - 'FileHandler' => 'classes/file/FileHandler.class.php', - 'FileObject' => 'classes/file/FileObject.class.php', - 'FrontEndFileHandler' => 'classes/frontendfile/FrontEndFileHandler.class.php', - 'Handler' => 'classes/handler/Handler.class.php', - 'XEHttpRequest' => 'classes/httprequest/XEHttpRequest.class.php', - 'Mail' => 'classes/mail/Mail.class.php', - 'Mobile' => 'classes/mobile/Mobile.class.php', - 'ModuleHandler' => 'classes/module/ModuleHandler.class.php', - 'ModuleObject' => 'classes/module/ModuleObject.class.php', - 'Object' => 'classes/object/Object.class.php', - 'PageHandler' => 'classes/page/PageHandler.class.php', - 'EmbedFilter' => 'classes/security/EmbedFilter.class.php', - 'IpFilter' => 'classes/security/IpFilter.class.php', - 'Password' => 'classes/security/Password.class.php', - 'Purifier' => 'classes/security/Purifier.class.php', - 'Security' => 'classes/security/Security.class.php', - 'UploadFileFilter' => 'classes/security/UploadFileFilter.class.php', - 'TemplateHandler' => 'classes/template/TemplateHandler.class.php', - 'Validator' => 'classes/validator/Validator.class.php', - 'WidgetHandler' => 'classes/widget/WidgetHandler.class.php', - 'GeneralXmlParser' => 'classes/widget/GeneralXmlParser.class.php', - 'Xml_Node_' => 'classes/xml/XmlParser.class.php', - 'XmlGenerator' => 'classes/xml/XmlGenerator.class.php', - 'XmlJsFilter' => 'classes/xml/XmlJsFilter.class.php', - 'XmlLangParser' => 'classes/xml/XmlLangParser.class.php', - 'XmlParser' => 'classes/xml/XmlParser.class.php', - 'XmlQueryParser' => 'classes/xml/XmlQueryParser.class.php', - 'DBParser' => 'classes/xml/xmlquery/DBParser.class.php', - 'QueryParser' => 'classes/xml/xmlquery/QueryParser.class.php', - 'Argument' => 'classes/xml/xmlquery/argument/Argument.class.php', - 'ConditionArgument' => 'classes/xml/xmlquery/argument/ConditionArgument.class.php', - 'SortArgument' => 'classes/xml/xmlquery/argument/SortArgument.class.php', - 'DefaultValue' => 'classes/xml/xmlquery/queryargument/DefaultValue.class.php', - 'QueryArgument' => 'classes/xml/xmlquery/queryargument/QueryArgument.class.php', - 'SortQueryArgument' => 'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php', - 'QueryArgumentValidator' => 'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php', - 'ColumnTag' => 'classes/xml/xmlquery/tags/column/ColumnTag.class.php', - 'InsertColumnTag' => 'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php', - 'InsertColumnTagWithoutArgument' => 'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php', - 'InsertColumnsTag' => 'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php', - 'SelectColumnTag' => 'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php', - 'SelectColumnsTag' => 'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php', - 'UpdateColumnTag' => 'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php', - 'UpdateColumnsTag' => 'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php', - 'ConditionGroupTag' => 'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php', - 'ConditionTag' => 'classes/xml/xmlquery/tags/condition/ConditionTag.class.php', - 'ConditionsTag' => 'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php', - 'JoinConditionsTag' => 'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php', - 'GroupsTag' => 'classes/xml/xmlquery/tags/group/GroupsTag.class.php', - 'IndexTag' => 'classes/xml/xmlquery/tags/navigation/IndexTag.class.php', - 'LimitTag' => 'classes/xml/xmlquery/tags/navigation/LimitTag.class.php', - 'NavigationTag' => 'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php', - 'QueryTag' => 'classes/xml/xmlquery/tags/query/QueryTag.class.php', - 'HintTableTag' => 'classes/xml/xmlquery/tags/table/HintTableTag.class.php', - 'TableTag' => 'classes/xml/xmlquery/tags/table/TableTag.class.php', - 'TablesTag' => 'classes/xml/xmlquery/tags/table/TablesTag.class.php', - ), CASE_LOWER); - - function __xe_autoload($class_name) + if(isset($GLOBALS['__xe_autoload_file_map'][strtolower($class_name)])) { - if(__DEBUG__) { - $time_at = getMicroTime(); - } + require _XE_PATH_ . $GLOBALS['__xe_autoload_file_map'][strtolower($class_name)]; + } + elseif(preg_match('/^([a-zA-Z0-9_]+?)(Admin)?(View|Controller|Model|Api|Wap|Mobile)?$/', $class_name, $matches)) + { + $candidate_filename = array(); + $candidate_filename[] = 'modules/' . $matches[1] . '/' . $matches[1]; + if(isset($matches[2]) && $matches[2]) $candidate_filename[] = 'admin'; + $candidate_filename[] = (isset($matches[3]) && $matches[3]) ? strtolower($matches[3]) : 'class'; + $candidate_filename[] = 'php'; - if(isset($GLOBALS['__xe_autoload_file_map'][strtolower($class_name)])) + $candidate_filename = implode('.', $candidate_filename); + + if(file_exists(_XE_PATH_ . $candidate_filename)) { - require _XE_PATH_ . $GLOBALS['__xe_autoload_file_map'][strtolower($class_name)]; - } - elseif(preg_match('/^([a-zA-Z0-9_]+?)(Admin)?(View|Controller|Model|Api|Wap|Mobile)?$/', $class_name, $matches)) - { - $candidate_filename = array(); - $candidate_filename[] = 'modules/' . $matches[1] . '/' . $matches[1]; - if(isset($matches[2]) && $matches[2]) $candidate_filename[] = 'admin'; - $candidate_filename[] = (isset($matches[3]) && $matches[3]) ? strtolower($matches[3]) : 'class'; - $candidate_filename[] = 'php'; - - $candidate_filename = implode('.', $candidate_filename); - - if(file_exists(_XE_PATH_ . $candidate_filename)) - { - require _XE_PATH_ . $candidate_filename; - } - } - - if(__DEBUG__) { - $GLOBALS['__elapsed_class_load__'] += getMicroTime() - $time_at; + require _XE_PATH_ . $candidate_filename; } } - spl_autoload_register('__xe_autoload'); - if(file_exists(_XE_PATH_ . '/vendor/autoload.php')) { - require _XE_PATH_ . '/vendor/autoload.php'; + if(__DEBUG__) { + $GLOBALS['__elapsed_class_load__'] += getMicroTime() - $time_at; } +} +spl_autoload_register('__xe_autoload'); - +if(file_exists(_XE_PATH_ . '/vendor/autoload.php')) { + require _XE_PATH_ . '/vendor/autoload.php'; } /* End of file config.inc.php */ /* Location: ./config/config.inc.php */