/** * 从缓存中删除指定键名对应的值 * 这是在父类中定义的方法的具体实现。 * @param string $key 要删除值的键名 * @return boolean 是否删除期间没有发生错误 */ protected function deleteValue($key) { Sky::trace('Memcache delete:' . $key, 'memcache'); return $this->_cache->delete($key, 0); }
/** * 取回已经配置的模块。 * 模块必须要在 {@link modules}中声明。 * 当通过id第一次调用该方法的时候,一个新的实例将会创建。 * @param string $id 模块 ID (大小写敏感) * @return Module 模块实例, 如果模块被禁用或不存在的话返回null。 */ public function getModule($id) { // Sky::log('get module '.$id); if (isset($this->_modules[$id]) || array_key_exists($id, $this->_modules)) { // Sky::log($this->_modules[$id]); return $this->_modules[$id]; } elseif (isset($this->_moduleConfig[$id])) { $config = $this->_moduleConfig[$id]; if (!isset($config['enabled']) || $config['enabled']) { Sky::trace('Loading ' . $id . ' module', 'system.base.Module'); $class = $config['class']; unset($config['class']); // \Sky\Sky::log('this is class '.$class); if ($this === Sky::$app) { // Sky::log('createcompontn '.$id); $module = Sky::createComponent($class, $id, null, $config); // Sky::log('createcompontn over '.$id); } else { // Sky::log($this->getId().'/'.$id); $module = Sky::createComponent($class, $id, $this, $config); // Sky::log('set child module finish'); } $this->_modules[$id] = $module; // Sky::log('set modules array'); return $module; } } }