<?php /** * Assert * * LICENSE * * This source file is subject to the MIT license that is bundled * with this package in the file LICENSE.txt. * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to kontakt@beberlei.de so I can send you a copy immediately. */ namespace Assert; class InvalidArgumentException extends \InvalidArgumentException implements AssertionFailedException { private $propertyPath; private $value; private $constraints; public function __construct($message, $code, $propertyPath, $value, array $constraints = array()) { parent::__construct($message, $code); $this->propertyPath = $propertyPath; $this->value = $value; $this->constraints = $constraints; } /** * User controlled way to define a sub-property causing * the failure of a currently asserted objects. * * Useful to transport information about the nature of the error * back to higher layers. * * @return string */ public function getPropertyPath() { return $this->propertyPath; } /** * Get the value that caused the assertion to fail. * * @return mixed */ public function getValue() { return $this->value; } /** * Get the constraints that applied to the failed assertion. * * @return array */ public function getConstraints() { return $this->constraints; } }