• File: InvalidArgument.php
  • Full Path: /home/matthif/www/wp-includes/Requests/src/Exception/InvalidArgument.php
  • Date Modified: 03/30/2023 4:36 AM
  • File size: 1.08 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace WpOrg\Requests\Exception;

use 
InvalidArgumentException;

/**
 * Exception for an invalid argument passed.
 *
 * @package Requests\Exceptions
 * @since   2.0.0
 */
final class InvalidArgument extends InvalidArgumentException {

    
/**
     * Create a new invalid argument exception with a standardized text.
     *
     * @param int    $position The argument position in the function signature. 1-based.
     * @param string $name     The argument name in the function signature.
     * @param string $expected The argument type expected as a string.
     * @param string $received The actual argument type received.
     *
     * @return \WpOrg\Requests\Exception\InvalidArgument
     */
    
public static function create($position$name$expected$received) {
        
// phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace
        
$stack debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS2);

        return new 
self(
            
sprintf(
                
'%s::%s(): Argument #%d (%s) must be of type %s, %s given',
                
$stack[1]['class'],
                
$stack[1]['function'],
                
$position,
                
$name,
                
$expected,
                
$received
            
)
        );
    }
}