/** * グループに参加 * @param \Request $request * @Transactional */ function doPost($request) { $groupId = $request->parameter('id'); $user = $request->parameter('user'); $group = new \game\model\Group($groupId); $group->join(new \game\model\User($user)); }
public function validate_action(Request $request) { try { $rmethod = new ReflectionMethod($this->controller, $request->parameter('action')); } catch (ReflectionException $rfEx) { throw new ChainError($rfEx->getMessage()); } if (!$rmethod->isPublic() || $rmethod->isStatic()) { throw new ChainError('Method `' . $rmethod->getName() . '` should be declared as public on class instance `' . get_class($this->controller) . '`'); } $rparams = $rmethod->getParameters(); $action_args = array(); foreach ($rparams as $arg) { $arg_name = $arg->getName(); $arg_value = $request->parameter($arg_name); // XXX: detect behavior on Merb / Django if (null === $arg_value) { if ($arg->isOptional()) { continue; } else { throw new ChainError('Mandatory agrument `' . $arg_name . '` for action `' . $rmethod->getName() . '` not in request!'); } } $action_args[$arg_name] = $arg_value; } // ready to fire this action later $this->chain['action'] = array($rmethod, $action_args); // return true for now return true; }
/** * * @param \Request $request */ function doPut($request) { $id = $request->parameter('group'); $user = $request->parameter('user'); $text = $request->parameter('text'); $group = new \game\model\Group($id); $group->writeChat($user, $text); }
/** * ルームに参加 * @param \Request $request * @Transactional */ function doPost($request) { $id = $request->parameter('id'); $user = $request->parameter('user'); $room = new \game\model\Room($id); $room->join(new \game\model\User($user)); $request->response('group-id1', $room->getGroup1()->getId()); $request->response('group-id2', $room->getGroup2()->getId()); }
/** * ユーザー生成 * @param \Request $request */ function doPut($request) { $name = $request->parameter('name'); $user = \game\model\User::create($name); $request->response('id', $user); }
private function validate(Request $request) { return !($request->parameter('controller') === null) || !($request->parameter('action') === null); }