示例#1
0
 private static function _SGetCaller()
 {
     if (is_null(self::$s_sCaller)) {
         self::$s_sCaller = sprintf('%s:%s:%08x', Ko_Tool_Module::SGetScriptFullName(), Ko_Tool_Ip::SGetServerIp(), mt_rand());
         KO_DEBUG >= 5 && Ko_Tool_Debug::VAddTmpLog('data/KProxy', '_SGetCaller_Create:' . self::$s_sCaller);
     }
     return self::$s_sCaller;
 }
示例#2
0
文件: Limit.php 项目: AllenLyu/ko
 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});
     }
 }
示例#3
0
 /**
  * 创建对象,可以创建 $sFromModule 下的任意对象
  *
  * @return object
  */
 public static function OCreateFromModule($sFromModule, $sName)
 {
     // 分析子模块名和文件名
     list($sModule, $sFile) = Ko_Tool_Module::AGetSubModule($sName);
     // 构造类名
     if ($sModule !== '') {
         $sModule = Ko_Tool_Module::SGetRegularModuleName($sModule);
         $sClassName = 'K' . $sFromModule . '_' . $sModule . '_' . $sFile;
     } else {
         $sClassName = 'K' . $sFromModule . '_' . $sFile;
     }
     // 创建对象
     return Ko_Tool_Singleton::OInstance($sClassName);
 }
示例#4
0
文件: Factory.php 项目: jinghm318/ko
 /**
  * @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];
 }
示例#5
0
文件: Object.php 项目: AllenLyu/ko
 /**
  * 创建对象,可以创建 $sFromModule 下的任意对象
  *
  * @return object
  */
 public static function OCreateFromModule($sFromModule, $sName)
 {
     // 分析子模块名和文件名
     list($sModule, $sFile) = Ko_Tool_Module::AGetSubModule($sName);
     // 构造类名
     $pos = strrpos($sFromModule, '\\');
     if (false !== $pos) {
         if ($sModule !== '') {
             $sModule = Ko_Tool_Module::SGetRegularModuleName($sModule);
             if ('\\' === substr($sFromModule, -1)) {
                 $sClassName = substr($sFromModule, 0, $pos + 1) . 'M' . $sModule . '_' . $sFile;
             } else {
                 $sClassName = substr($sFromModule, 0, $pos + 1) . 'M' . substr($sFromModule, $pos + 1) . '_' . $sModule . '_' . $sFile;
             }
         } else {
             if ('\\' === substr($sFromModule, -1)) {
                 $sClassName = substr($sFromModule, 0, $pos + 1) . 'M' . $sFile;
             } else {
                 $sClassName = substr($sFromModule, 0, $pos + 1) . 'M' . substr($sFromModule, $pos + 1) . '_' . $sFile;
             }
         }
     } else {
         if ($sModule !== '') {
             $sModule = Ko_Tool_Module::SGetRegularModuleName($sModule);
             $sClassName = 'K' . $sFromModule . '_' . $sModule . '_' . $sFile;
         } else {
             $sClassName = 'K' . $sFromModule . '_' . $sFile;
         }
     }
     // 创建对象
     return Ko_Tool_Singleton::OInstance($sClassName);
 }