DependencyInjection/Requirement.php
<?php namespace Phug\DependencyInjection; use Phug\Util\UnorderedArguments; class Requirement{ /** * @var bool */ private $required; /** * @var Dependency */ private $dependency; public function __construct() { $arguments = new UnorderedArguments(func_get_args()); $this->setRequired($arguments->optional('boolean') ?: false); if ($dependency = $arguments->optional(Dependency::class)) { $this->setDependency($dependency); } $arguments->noMoreDefinedArguments(); } /** * @return bool */ public function isRequired() { return $this->required; } /** * @param bool $required * * @return $this */ public function setRequired($required) { $this->required = $required; return $this; } /** * @return Dependency */ public function getDependency() { return $this->dependency; } /** * @param Dependency $dependency * * @return $this */ public function setDependency($dependency) { $this->dependency = $dependency; return $this; }}