本文整理汇总了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");
}