/**
  * @param array $config
  */
 function __construct($config = array())
 {
     $this->_config = array_merge($this->_config, $config);
     if (empty($this->_config)) {
         $this->_config = CFactory::loadConfig('sessionConfig');
     }
 }
 private function __construct($config)
 {
     if (!$config) {
         $config = CFactory::loadConfig('memcache');
     }
     $this->config = array_merge($this->config, $config);
     $this->memcache = new Memcache();
     foreach ($this->config['servers'] as $es) {
         $this->memcache->addserver($es['host'], $es['port']);
     }
 }
 /**
  * @param array $cfg
  * @return CRedis
  */
 static function getInstance($cfg = array(), $reconnect = false)
 {
     if (!self::$_config) {
         if (!$cfg) {
             $cfg = CFactory::loadConfig('redis');
         } else {
             self::$_config = $cfg;
         }
     }
     if (null == self::$_instacne) {
         self::$_instacne = new self($cfg, $reconnect);
     }
     return self::$_instacne;
 }
<?php

/**
 * a demo for index php
 */
define('FRAMEWORK_ROOT', dirname(__FILE__) . '/../framework');
define('APP_ROOT', dirname(__FILE__) . '/../app');
require_once FRAMEWORK_ROOT . '/CApp.php';
//include the app config file
CFactory::loadConfig();
$app = CApp::getInstance();
//注入extension模块
if ($extensions = CFactory::loadConfig('extensions')) {
    if (!empty($extensions['filter'])) {
        //filter
        foreach ($extensions['filter'] as $efilter) {
            $app->_filter->registerFilter(new $efilter());
        }
    }
    if (!empty($extensions['router'])) {
        //router
        $app->_router = new $extensions['router']();
    }
}
$app->run();
 /**
  * 重新实例化db
  */
 function reConnectDb()
 {
     $dbconfig = CFactory::loadConfig('db');
     $this->_db = null;
     $this->_db = $this->getDb($dbconfig, true);
 }
 /**
  * 跳转
  */
 function responseRedirect()
 {
     if ($this->_config['urlWhiteList']) {
         $urlWhiteList = CFactory::loadConfig('urlWhiteList', 'whiteList/url.php');
         if (!in_array($this->_ret, $urlWhiteList)) {
             throw new Exception('redirect url not allowd');
         }
     }
     header('Location:' . $this->_ret);
 }