本文整理匯總了PHP中Service::getDispatcher方法的典型用法代碼示例。如果您正苦於以下問題:PHP Service::getDispatcher方法的具體用法?PHP Service::getDispatcher怎麽用?PHP Service::getDispatcher使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Service
的用法示例。
在下文中一共展示了Service::getDispatcher方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: inviteAction
public function inviteAction(Team $team, Player $player, Player $me)
{
if (!$me->canEdit($team)) {
throw new ForbiddenException("You are not allowed to invite a player to that team!");
} elseif ($team->isMember($player->getId())) {
throw new ForbiddenException("The specified player is already a member of that team.");
} elseif (Invitation::hasOpenInvitation($player->getId(), $team->getId())) {
throw new ForbiddenException("This player has already been invited to join the team.");
}
return $this->showConfirmationForm(function () use($team, $player, $me) {
$invite = Invitation::sendInvite($player->getId(), $me->getId(), $team->getId());
Service::getDispatcher()->dispatch(Events::TEAM_INVITE, new TeamInviteEvent($invite));
return new RedirectResponse($team->getUrl());
}, "Are you sure you want to invite {$player->getEscapedUsername()} to {$team->getEscapedName()}?", "Player {$player->getUsername()} has been invited to {$team->getName()}");
}
示例2: showRenameForm
/**
* @param Group $discussion
* @param Player $me
*/
private function showRenameForm($discussion, $me)
{
$creator = new GroupRenameFormCreator($discussion);
$form = $creator->create()->handleRequest($this->getRequest());
if ($form->isValid()) {
$this->assertCanEdit($me, $discussion);
$newName = $form->get('subject')->getData();
$event = new GroupRenameEvent($discussion, $discussion->getSubject(), $newName, $me);
$discussion->setSubject($newName);
Service::getDispatcher()->dispatch(Events::GROUP_RENAME, $event);
$this->getFlashBag()->add('success', "The conversation has been updated");
}
return $form;
}
示例3: assignLeaderAction
public function assignLeaderAction(Team $team, Player $me, Player $player)
{
$this->assertCanEdit($me, $team, "You are not allowed to change the leader of this team.");
if (!$team->isMember($player->getId())) {
throw new ForbiddenException("The specified player is not a member of {$team->getName()}");
} elseif ($team->getLeader()->getId() == $player->getId()) {
throw new ForbiddenException("{$player->getUsername()} is already the leader of {$team->getName()}");
}
return $this->showConfirmationForm(function () use($player, $team) {
$event = new Event\TeamLeaderChangeEvent($team, $player, $team->getLeader());
$team->setLeader($player->getId());
Service::getDispatcher()->dispatch(Events::TEAM_LEADER_CHANGE, $event);
return new RedirectResponse($team->getUrl());
}, "Are you sure you want to transfer the leadership of the team to <strong>{$player->getEscapedUsername()}</strong>?", "{$player->getUsername()} is now leading {$team->getName()}", "Appoint leadership");
}