Merge pull request #1374 from kijin/feature/autoload

classes 폴더 내의 주요 클래스에 autoload 적용
This commit is contained in:
bnu 2015-05-27 13:45:55 +09:00
commit 58f094a5f7
5 changed files with 118 additions and 105 deletions

View file

@ -4,35 +4,6 @@
if(!defined('__XE_LOADED_DB_CLASS__'))
{
define('__XE_LOADED_DB_CLASS__', 1);
require(_XE_PATH_ . 'classes/xml/xmlquery/DBParser.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/QueryParser.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/argument/Argument.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/argument/SortArgument.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/argument/ConditionArgument.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/expression/Expression.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/expression/SelectExpression.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/expression/InsertExpression.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/expression/UpdateExpression.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/expression/UpdateExpressionWithoutArgument.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/expression/ClickCountExpression.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/table/Table.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/table/JoinTable.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/table/CubridTableWithHint.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/table/MysqlTableWithHint.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/table/MssqlTableWithHint.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/table/IndexHint.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionGroup.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/condition/Condition.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionWithArgument.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionWithoutArgument.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionSubquery.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/expression/StarExpression.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/order/OrderByColumn.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/limit/Limit.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/Query.class.php');
require(_XE_PATH_ . 'classes/db/queryparts/Subquery.class.php');
}
/**
@ -622,7 +593,6 @@ class DB
// if there is no cache file or is not new, find original xml query file and parse it
if($cache_time < filemtime($xml_file) || $cache_time < filemtime(_XE_PATH_ . 'classes/db/DB.class.php') || $cache_time < filemtime(_XE_PATH_ . 'classes/xml/XmlQueryParser.class.php'))
{
require_once(_XE_PATH_ . 'classes/xml/XmlQueryParser.class.php');
$oParser = new XmlQueryParser();
$oParser->parse($query_id, $xml_file, $cache_file);
}

View file

@ -39,12 +39,10 @@ class DisplayHandler extends Handler
// Extract contents to display by the request method
if(Context::get('xeVirtualRequestMethod') == 'xml')
{
require_once(_XE_PATH_ . "classes/display/VirtualXMLDisplayHandler.php");
$handler = new VirtualXMLDisplayHandler();
}
else if(Context::getRequestMethod() == 'XMLRPC')
{
require_once(_XE_PATH_ . "classes/display/XMLDisplayHandler.php");
$handler = new XMLDisplayHandler();
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE)
{
@ -53,17 +51,14 @@ class DisplayHandler extends Handler
}
else if(Context::getRequestMethod() == 'JSON')
{
require_once(_XE_PATH_ . "classes/display/JSONDisplayHandler.php");
$handler = new JSONDisplayHandler();
}
else if(Context::getRequestMethod() == 'JS_CALLBACK')
{
require_once(_XE_PATH_ . "classes/display/JSCallbackDisplayHandler.php");
$handler = new JSCallbackDisplayHandler();
}
else
{
require_once(_XE_PATH_ . "classes/display/HTMLDisplayHandler.php");
$handler = new HTMLDisplayHandler();
}

View file

@ -1044,31 +1044,18 @@ class ModuleHandler extends Handler
ModuleHandler::_getModuleFilePath($module, $type, $kind, $class_path, $high_class_file, $class_file, $instance_name);
}
// Get base class name and load the file contains it
if(!class_exists($module, false))
// Check if the base class and instance class exist
if(!class_exists($module, true))
{
$high_class_file = sprintf('%s%s%s.class.php', _XE_PATH_, $class_path, $module);
if(!file_exists($high_class_file))
{
return NULL;
}
require_once($high_class_file);
return NULL;
}
// Get the name of the class file
if(!is_readable($class_file))
if(!class_exists($instance_name, true))
{
return NULL;
}
// Create an instance with eval function
require_once($class_file);
if(!class_exists($instance_name, false))
{
return NULL;
}
$tmp_fn = create_function('', "return new {$instance_name}();");
$oModule = $tmp_fn();
// Create an instance
$oModule = new $instance_name();
if(!is_object($oModule))
{
return NULL;

View file

@ -7,31 +7,6 @@
if(!defined('__XE_LOADED_XML_CLASS__'))
{
define('__XE_LOADED_XML_CLASS__', 1);
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/query/QueryTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/TableTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/HintTableTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/TablesTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/ColumnTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/group/GroupsTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/IndexTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/LimitTag.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/QueryArgument.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php');
require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/DefaultValue.class.php');
}
/**