Вход Регистрация
Файл: concrete5.7.5.6/concrete/vendor/punic/punic/code/Exception/BadArgumentType.php
Строк: 102
<?php

namespace PunicException;

/**
 * An exception raised when a function meets an argument of an unsupported type.
 */
class BadArgumentType extends PunicException
{
    protected 
$argumentValue;

    protected 
$destinationTypeDescription;
    
/**
     * Initializes the instance.
     *
     * @param mixed $argumentValue The value of the invalid argument
     * @param string $destinationTypeDescription The description of the destination type
     * @param Exception $previous The previous exception used for the exception chaining
     */
    
public function __construct($argumentValue$destinationTypeDescription$previous null)
    {
        
$this->argumentValue $argumentValue;
        
$this->destinationTypeDescription $destinationTypeDescription;
        
$type gettype($argumentValue);
        switch (
$type) {
            case 
'boolean':
                
$shownName $argumentValue 'TRUE' 'FALSE';
                break;
            case 
'integer':
            case 
'double':
                
$shownName strval($argumentValue);
                break;
            case 
'string':
                
$shownName "'$argumentValue'";
                break;
            case 
'object':
                
$shownName get_class($argumentValue);
                break;
            default:
                
$shownName $type;
                break;
        }
        
$message "Can't convert $shownName to a $destinationTypeDescription";
        
parent::__construct($messagePunicException::BAD_ARGUMENT_TYPE$previous);
    }

    
/**
     * Retrieves the value of the invalid argument.
     *
     * @return mixed
     */
    
public function getArgumentValue()
    {
        return 
$this->argumentValue;
    }

    
/**
     * Retrieves the destination type (or a list of destination types).
     *
     * @return string|array<string>
     */
    
public function getDestinationTypeDescription()
    {
        return 
$this->destinationTypeDescription;
    }
}
Онлайн: 2
Реклама