1 <?php 2 3 /** 4 * Assert 5 * 6 * LICENSE 7 * 8 * This source file is subject to the MIT license that is bundled 9 * with this package in the file LICENSE.txt. 10 * If you did not receive a copy of the license and are unable to 11 * obtain it through the world-wide-web, please send an email 12 * to kontakt@beberlei.de so I can send you a copy immediately. 13 */ 14 15 namespace Assert; 16 17 class InvalidArgumentException extends \InvalidArgumentException implements AssertionFailedException 18 { 19 /** 20 * @var string|null 21 */ 22 private $propertyPath; 23 24 /** 25 * @var mixed 26 */ 27 private $value; 28 29 /** 30 * @var array 31 */ 32 private $constraints; 33 34 public function __construct($message, $code, string $propertyPath = null, $value = null, array $constraints = []) 35 { 36 parent::__construct($message, $code); 37 38 $this->propertyPath = $propertyPath; 39 $this->value = $value; 40 $this->constraints = $constraints; 41 } 42 43 /** 44 * User controlled way to define a sub-property causing 45 * the failure of a currently asserted objects. 46 * 47 * Useful to transport information about the nature of the error 48 * back to higher layers. 49 * 50 * @return string|null 51 */ 52 public function getPropertyPath() 53 { 54 return $this->propertyPath; 55 } 56 57 /** 58 * Get the value that caused the assertion to fail. 59 * 60 * @return mixed 61 */ 62 public function getValue() 63 { 64 return $this->value; 65 } 66 67 /** 68 * Get the constraints that applied to the failed assertion. 69 * 70 * @return array 71 */ 72 public function getConstraints(): array 73 { 74 return $this->constraints; 75 } 76 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body