Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.3.x will end 7 October 2024 (12 months).
  • Bug fixes for security issues in 4.3.x will end 21 April 2025 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.2.x is supported too.
   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  }