Beispiel #1
0
 /**
  * 创建对象,可以创建根模块下的任意对象
  *
  * @return object
  */
 public static function OCreateFromRoot($vClass, $sName)
 {
     // 获取模块名
     $sThisModule = Ko_Tool_Module::SGetObjectModuleName($vClass);
     // 获取根模块名
     $sRootModule = Ko_Tool_Module::SGetRootModuleName($sThisModule);
     return self::OCreateFromModule($sRootModule, $sName);
 }
Beispiel #2
0
 public function __construct()
 {
     if ('redis' === $this->_aConf['engine']) {
         $dao = $this->_aConf['redis'] . 'Dao';
         $hashkey = 'koli:' . Ko_Tool_Module::SGetObjectModuleName($this) . ':' . $this->_aConf['hashkey'];
         $this->_oEngine = new Ko_Mode_LimitRedis($this->{$dao}, $hashkey);
     } else {
         $dao = $this->_aConf['db'] . 'Dao';
         $this->_oEngine = new Ko_Mode_LimitMysql($this->{$dao});
     }
 }
Beispiel #3
0
 /**
  * @param string $sName 例如 goodsDao,userCafeDao
  * @return object
  */
 public function oGetDao($sName)
 {
     $tag = substr($sName, -3);
     assert($tag === 'Dao');
     $modulename = Ko_Tool_Module::SGetObjectModuleName($this);
     $confkey = $modulekey = substr($sName, 0, -3);
     if (!isset(self::$s_aInstance[$modulename][$modulekey])) {
         $aParam = array('module' => $modulename);
         if (!isset($this->_aDaoConf[$confkey])) {
             list($confkey, $aParam['suffix']) = explode('_', $confkey, 2);
             assert(isset($this->_aDaoConf[$confkey]));
         }
         self::$s_aInstance[$modulename][$modulekey] = self::OCreateDao($this->_aDaoConf[$confkey], $aParam);
     }
     return self::$s_aInstance[$modulename][$modulekey];
 }