Esempio n. 1
0
 /**
  * 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;
 }