/** * メッセージIDを取得します。 * * @param IContext $storage コンテキストに備えられているワーク領域。 * @return integer メッセージID。 */ private static function innerGetMessageId(array $storage = null) { if (!is_null($storage) && isset($storage[Constants::DATA_MESSAGE_ID])) { return $storage[Constants::DATA_MESSAGE_ID]; } $rest = Environment::getRestParams(); if (count($rest) >= 2 && $rest[0] == 'error' && is_numeric($rest[1])) { return intval($rest[1]); } return self::DEFAULT_STATUS; }
/** * コンテキストに状態が適用されている間、 IContext.phase() * メソッドを実行することで、このメソッドが呼び出されます。 * * @param IContext $context コンテキスト。 */ public function phase(IContext $context) { $rest = Environment::getRestParams(); $entry = count($rest) === 0 ? Constants::REST_MESSAGE : $rest[0]; $context->setNextState(include self::getPath($entry)); }
/** 現在のRESTパラメータが取得できている */ protected function validateRestParams(array &$world, array $arguments) { $this->assertEquals(1, count($arguments), '引数は 1 つ必要'); $this->assertEquals($arguments[0], Environment::getRestParams(), '現在のRESTパラメータが取得できている'); }
/** * ワーク領域に保存されたデータを基にXMLを作成します。 * * @param array $storage コンテキストのワーク配列。 * @return string XML文書。 */ public function createXmlFromStorage(array $storage) { $msg = $storage[Constants::DATA_MESSAGE_BODY]; $query = 'Unity落ちた'; $result = !$storage[Constants::DATA_MESSAGE_ERROR]; $dynamic = count(Environment::getRestParams()) > 0; $lang = 'ja'; return $this->createXml($msg, $query, $result, $dynamic, $lang); }