[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/Requests/src/Exception/ -> ArgumentCount.php (source)

   1  <?php
   2  
   3  namespace WpOrg\Requests\Exception;
   4  
   5  use WpOrg\Requests\Exception;
   6  
   7  /**
   8   * Exception for when an incorrect number of arguments are passed to a method.
   9   *
  10   * Typically, this exception is used when all arguments for a method are optional,
  11   * but certain arguments need to be passed together, i.e. a method which can be called
  12   * with no arguments or with two arguments, but not with one argument.
  13   *
  14   * Along the same lines, this exception is also used if a method expects an array
  15   * with a certain number of elements and the provided number of elements does not comply.
  16   *
  17   * @package Requests\Exceptions
  18   * @since   2.0.0
  19   */
  20  final class ArgumentCount extends Exception {
  21  
  22      /**
  23       * Create a new argument count exception with a standardized text.
  24       *
  25       * @param string $expected The argument count expected as a phrase.
  26       *                         For example: `at least 2 arguments` or `exactly 1 argument`.
  27       * @param int    $received The actual argument count received.
  28       * @param string $type     Exception type.
  29       *
  30       * @return \WpOrg\Requests\Exception\ArgumentCount
  31       */
  32  	public static function create($expected, $received, $type) {
  33          // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace
  34          $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
  35  
  36          return new self(
  37              sprintf(
  38                  '%s::%s() expects %s, %d given',
  39                  $stack[1]['class'],
  40                  $stack[1]['function'],
  41                  $expected,
  42                  $received
  43              ),
  44              $type
  45          );
  46      }
  47  }


Generated : Sat Apr 27 08:20:02 2024 Cross-referenced by PHPXref