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'); }
$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; }