diff options
Diffstat (limited to 'framework/DataAccess/SQLMap/TMapper.php')
-rw-r--r-- | framework/DataAccess/SQLMap/TMapper.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/framework/DataAccess/SQLMap/TMapper.php b/framework/DataAccess/SQLMap/TMapper.php new file mode 100644 index 00000000..4427c012 --- /dev/null +++ b/framework/DataAccess/SQLMap/TMapper.php @@ -0,0 +1,60 @@ +<?php
+
+require_once(dirname(__FILE__).'/TSqlMapClient.php');
+
+/**
+ * A singleton class to access the default SqlMapper.
+ *
+ * Usage: Call configure() once, then use instance() to obtain a TSqlMapper
+ * instance.
+ * <code>
+ * TMapper::configure($configFile);
+ * $object = TMapper::instance()->queryForObject('statementName');
+ * </code>
+ *
+ * If your configuration file is named 'sqlmap.config' you may skip the
+ * configure() call.
+ *
+ * @author Wei Zhuo <weizhuo[at]gmail[dot]com>
+ * @version $Revision: $ $Date: $
+ * @package System.DataAccess.SQLMap
+ * @since 3.0
+ */
+class TMapper
+{
+ /**
+ * Data mapper singleton
+ * @var TSqlMapper
+ */
+ private static $_mapper;
+
+ /**
+ * Configure the data mapper singleton instance.
+ * @param string configuration file
+ * @param boolean true to load configuration from cache.
+ * @return TSqlMapper data mapper instance.
+ */
+ public static function configure($configFile,$loadCachedConfig=false)
+ {
+ if(is_null(self::$_mapper))
+ {
+ $sqlmap = new TSQLMapClient;
+ self::$_mapper = $sqlmap->configure($configFile,$loadCachedConfig);
+ }
+ return self::$_mapper;
+ }
+
+ /**
+ * Gets the data mapper singleton instance. Default configuration file is
+ * 'sqlmap.config'.
+ * @return TSqlMapper singleton instance.
+ */
+ public static function instance()
+ {
+ if(is_null(self::$_mapper))
+ self::configure('sqlmap.xml');
+ return self::$_mapper;
+ }
+}
+
+?>
\ No newline at end of file |