mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 17:21:39 +09:00
Merge pull request #1374 from kijin/feature/autoload
classes 폴더 내의 주요 클래스에 autoload 적용
This commit is contained in:
commit
58f094a5f7
5 changed files with 118 additions and 105 deletions
|
|
@ -291,34 +291,120 @@ if(!defined('__XE_LOADED_CLASS__'))
|
|||
define('__StartTime__', getMicroTime());
|
||||
|
||||
// include the class files
|
||||
//TODO When _autoload() can be used for PHP5 based applications, it will be removed.
|
||||
if(__DEBUG__)
|
||||
define('__ClassLoadStartTime__', getMicroTime());
|
||||
require(_XE_PATH_ . 'classes/object/Object.class.php');
|
||||
require(_XE_PATH_ . 'classes/extravar/Extravar.class.php');
|
||||
require(_XE_PATH_ . 'classes/handler/Handler.class.php');
|
||||
require(_XE_PATH_ . 'classes/xml/XmlParser.class.php');
|
||||
require(_XE_PATH_ . 'classes/xml/XmlGenerator.class.php');
|
||||
require(_XE_PATH_ . 'classes/xml/XmlJsFilter.class.php');
|
||||
require(_XE_PATH_ . 'classes/xml/XmlLangParser.class.php');
|
||||
require(_XE_PATH_ . 'classes/cache/CacheHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/context/Context.class.php');
|
||||
require(_XE_PATH_ . 'classes/db/DB.class.php');
|
||||
require(_XE_PATH_ . 'classes/file/FileHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/widget/WidgetHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/editor/EditorHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/module/ModuleObject.class.php');
|
||||
require(_XE_PATH_ . 'classes/module/ModuleHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/display/DisplayHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/template/TemplateHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/mail/Mail.class.php');
|
||||
require(_XE_PATH_ . 'classes/page/PageHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/mobile/Mobile.class.php');
|
||||
require(_XE_PATH_ . 'classes/validator/Validator.class.php');
|
||||
require(_XE_PATH_ . 'classes/frontendfile/FrontEndFileHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/security/Password.class.php');
|
||||
require(_XE_PATH_ . 'classes/security/Security.class.php');
|
||||
require(_XE_PATH_ . 'classes/security/IpFilter.class.php');
|
||||
|
||||
$__xe_autoload_file_map = array_change_key_case(array(
|
||||
'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',
|
||||
'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)
|
||||
{
|
||||
$class_name = strtolower($class_name);
|
||||
if(isset($GLOBALS['__xe_autoload_file_map'][$class_name]))
|
||||
{
|
||||
require _XE_PATH_ . $GLOBALS['__xe_autoload_file_map'][$class_name];
|
||||
}
|
||||
elseif(preg_match('/^([a-z0-9_]+?)(admin)?(view|controller|model|api|wap|mobile)?$/i', $class_name, $matches))
|
||||
{
|
||||
$candidate_filename = 'modules/' . $matches[1] . '/' . $matches[1] . ($matches[2] ? '.admin' : '') . ($matches[3] ? ('.' . $matches[3]) : '.class') . '.php';
|
||||
if(file_exists(_XE_PATH_ . $candidate_filename))
|
||||
{
|
||||
require _XE_PATH_ . $candidate_filename;
|
||||
}
|
||||
}
|
||||
}
|
||||
spl_autoload_register('__xe_autoload');
|
||||
|
||||
if(__DEBUG__)
|
||||
$GLOBALS['__elapsed_class_load__'] = getMicroTime() - __ClassLoadStartTime__;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue