public function getDI()
 {
     $di = SF_BaseDI::getCurrentDI();
     if (!$di) {
         throw new Exception('a di object must be instantialize before use it');
     }
     return $di;
 }
 protected function _getDb()
 {
     return SF_BaseDI::getCurrentDI()->get('db');
 }
Example #3
0
        $dispatcher = new SF_BaseDispatcher();
        return $dispatcher;
    }
    public function view()
    {
        global $config;
        $view = new EX_XMLView();
        return $view;
    }
    public function db()
    {
        global $config;
        $db = new SF_BaseDbAdapter(array('dsn' => $config->database->dsn, 'user' => $config->database->user, 'password' => $config->database->password));
        return $db;
    }
    public function event_manager()
    {
        $event_manager = new SF_BaseEventManager();
        return $event_manager;
    }
}
$slover = new Slover();
$di = new SF_BaseDI();
//注入配置服务
$di->set('config', array($slover, 'config'));
$di->set('event_manager', array($slover, 'event_manager'));
$di->set('request', array($slover, 'request'));
$di->set('router', array($slover, 'router'));
$di->set('dispatcher', array($slover, 'dispatcher'));
$di->set('view', array($slover, 'view'));
$di->set('db', array($slover, 'db'));
 public function __construct()
 {
     $this->_sloved = array();
     $this->_slovers = array();
     self::$_current_di = $this;
 }