/** * コンテキストに状態が適用されている間、 IContext.phase() * メソッドを実行することで、このメソッドが呼び出されます。 * * @param IContext $context コンテキスト。 */ public function phase(IContext $context) { $storage =& $context->getStorage(); $messageId = self::getMessageId($storage); $message = self::$_messages[$messageId]; $storage[Constants::DATA_MESSAGE_ID] = $messageId; $storage[Constants::DATA_MESSAGE_ERROR] = $message[0]; $storage[Constants::DATA_MESSAGE_BODY] = $message[1]; $context->setNextState(ViewState::getInstance()); }
/** インスタンスを取得する */ protected function getInstance(array &$world, array $arguments) { $world[self::INSTANCE] = ViewState::getInstance(); }
/** @scenario 既定のステータスをワークに設定できる */ public function shouldSetDefaultStatus() { $this->given('初期状態としてインスタンスを食わせたコンテキストを取得する')->when('コンテキストを実行する')->then('ワークのエラー種別が正しい', false)->and('ワークのエラーコードが正しい', 0)->and('ワークのメッセージが正しい', '')->and('前回の状態が正しい', EmptyState::getInstance())->and('現在の状態が正しい', MessageState::getInstance())->and('次回の状態が正しい', ViewState::getInstance()); }