/** * @param CommandInterface $command * @return AccessPolicyInterface|null */ public function toPolicy(CommandInterface $command) { $commandClass = get_class($command); if (isset($this->policies[$commandClass])) { $policyClass = $this->policies[$commandClass]; } else { $policyClass = $this->convertCommandClassToPolicy($commandClass); $this->registerPolicy($commandClass, $policyClass); } if ($this->container->canBeInstantiated($policyClass)) { $policy = $this->container->make($policyClass); } else { $policy = null; } return $policy; }
/** * Translates an instance of a command into a command handler * * @param CommandInterface $command * @return \Thepsion5\Admiral\CommandHandlerInterface */ public function toHandler(CommandInterface $command) { $handlerClass = $this->getHandlerClass($command); return $this->container->make($handlerClass); }