コード例 #1
0
 /**
  * @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;
 }
コード例 #2
0
 /**
  * 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);
 }