示例#1
0
 public static function init($app_name = null)
 {
     if (self::$isInit) {
         return false;
     }
     self::$isInit = true;
     // 初始化基础环境
     self::initBasicEnv();
     // 初始化App环境
     self::initAppEnv($app_name);
     // 初始化Ap框架
     self::initAp();
     // 初始化日志库
     self::initLog($app_name);
     // 执行产品线的auto_prepend
     self::doProductPrepend();
     return Ap_Application::app();
 }
示例#2
0
 /**
  * @brief 将Ap的autoload环境切换回调用者所在的APP
  *
  * @return   
  * @retval   
  * @see 
  * @note 
  * @author wiki
  * @date 2011/09/06 16:13:23
  **/
 public function resetServicePath()
 {
     $lenStack = count(Saf_Api_Server::$serviceStack);
     if ($lenStack >= 2) {
         unset(Saf_Api_Server::$serviceStack[$lenStack - 1]);
         $strLastService = Saf_Api_Server::$serviceStack[$lenStack - 2];
         //切换currAPP
         Bd_AppEnv::setCurrApp($strLastService);
         //切换Ap上下文
         $objAp = Ap_Application::app();
         $objAp->setAppDirectory(APP_PATH . "/" . $strLastService);
         $local_lib = Bd_AppEnv::getEnv('code') . '/library';
         Ap_Loader::getInstance()->setLibraryPath($local_lib);
         //还原cgi
         $arrLastCgi = Saf_Api_Server::$cgiStack[$lenStack - 2];
         $res = Saf_SmartMain::setCgiStart($arrLastCgi);
         unset(Saf_Api_Server::$cgiStack[$lenStack - 2]);
     } else {
         //切换APP
         Bd_AppEnv::setCurrApp(MAIN_APP);
         $objAp = Ap_Application::app();
         $objAp->setAppDirectory(APP_PATH . "/" . MAIN_APP);
         $local_lib = Bd_AppEnv::getEnv('code') . '/library';
         Ap_Loader::getInstance()->setLibraryPath($local_lib);
     }
 }