/** * Bootstrap Running Component * * @param integer $rc, Running Component, * optional value: RC_NONE,RC_DATABASE,RC_MEMCACHE,RC_SESSION,RC_ALL * or: RC_DATABASE | RC_MEMCACHE | RC_SESSION * or: RC_ALL ^ RC_MEMCACHE ^ RC_SESSION * or: RC_ALL & ~RC_MEMCACHE & ~RC_SESSION * @return SimPHP */ public function boot($rc = RC_NONE) { if ($rc > 0) { //$rc_set = [RC_NONE,RC_DATABASE,RC_MEMCACHE,RC_SESSION,RC_ALL]; if ((RC_DATABASE & $rc) === RC_DATABASE) { //Bootstrap with db D(); } if ((RC_MEMCACHE & $rc) === RC_MEMCACHE) { //Bootstrap with memcache M(); } if ((RC_SESSION & $rc) === RC_SESSION) { //Bootstrap with session $GLOBALS['user'] = new stdClass(); SessionBase::anonymous_user($GLOBALS['user']); $sessnode = $this->sessnode; $sess_handler = Config::get("storage.session.{$sessnode}.handler", 'file'); if ('mm' == $sess_handler) { self::$session = new SessionMM($sessnode); } elseif ('db' == $sess_handler) { self::$session = new SessionDB($sessnode); } else { // default to file session session_start(); } } } return $this; }