/** * @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); } }