/** * 初期化.最初に呼び出してください. * * @param array $options */ public static function __init($options = array()) { $propfile = $options[0]; Logger::configure(LIBRARY_PATH . '/etc/' . $propfile); // === MDC (_mapped diagnostic contexts_) 設定 // ※ log4php.appender.{appender_name}.layout.conversionPattern で、'%X{ADDR}' のようにして参照可能 // http://logging.apache.org/log4php/apidocs/class-LoggerMDC.html LoggerMDC::put('ADDR', isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '-'); LoggerMDC::put('HOST', isset($_SERVER['REMOTE_HOST']) ? $_SERVER['REMOTE_HOST'] : '-'); // === ロガー取得 self::$default_logger = Logger::getLogger('DefaultLogger'); self::$initialized = true; }
protected function process($argRestSampleRequest) { ApiLogger::trace("RestSample#process start : "); /* * 複数台のサーバがある場合は,セッション情報は DB に格納 * かつセッションidはワンタイムにする */ if (isset($_SESSION[Constant::$SESSION_ID])) { unset($_SESSION[Constant::$SESSION_ID]); } $cookieSession = new CookieSession(); $cookieSession->setUserId("hoge"); $cookieSession->setLang("ja"); $cookieSession->setSessionToken(""); $_SESSION[Constant::$SESSION_ID] = $cookieSession; ApiLogger::debug("Session installed."); $restSampleResponse = new RestSampleResponse(); ApiLogger::debug("RestSample#process end"); return $restSampleResponse; }
<?php /** * Created by IntelliJ IDEA. * User: tueda * Date: 15/09/10 * Time: 11:18 */ include_once __DIR__ . "/env.php"; require_once LIBRARY_PATH . "/etc/ApiConfig.php"; require_once LIBRARY_PATH . "/common/ClassLoader.php"; ClassLoader::addPath(array(LIBRARY_PATH . '/' . ApiConfig::$API_ETC, LIBRARY_PATH . '/' . ApiConfig::$API_COMMON, LIBRARY_PATH . '/' . ApiConfig::$API_ABST, LIBRARY_PATH . '/' . ApiConfig::$API_OBJECTS, LIBRARY_PATH . '/' . ApiConfig::$API_IMPLE, LIBRARY_PATH . '/' . ApiConfig::$LOG4PHP_DIR)); spl_autoload_register(array('ClassLoader', '_autoLoad')); ApiLogger::__init(array('log4php.properties')); try { $strApi = $_GET["api"]; $api = new $strApi(); $api->action(); } catch (Exception $e) { ApiLogger::fatal($e); }
/** * JSON文字列で渡されたパラメータをPHP オブジェクトに変換して返します<br> * POSTパラメータに data が無い場合や JSON 文字列が不正な場合には null を返します. */ protected final function getParamsObject() { ApiLogger::trace("getParamsObject: start"); if (!array_key_exists('data', $_POST)) { ApiLogger::debug("getParamsObject: NO DATA!!!"); return null; } $jsonString = $_POST["data"]; ApiLogger::debug("getParamsObject: Request json = " . $jsonString); return self::regularizeRequest(json_decode($jsonString), $this->getRequestId()); }