src/Container.php
private function assertType(
        \ReflectionParameter $parameter,
        \ReflectionFunctionAbstract $context,
        $value
    ) {
        if (is_null($value)) {
            if (
                !$parameter->isOptional()
                && !($parameter->isDefaultValueAvailable() && $parameter->getDefaultValue() === null)
            ) {
                throw new ArgumentException($parameter, $context);
            }

            return;
        }

        $type = $parameter->getType();

        if ($type == 'array' && !is_array($value)) {
            throw new ArgumentException($parameter, $context);
        }

        if (($type == 'int' || $type == 'float') && !is_numeric($value)) {
            throw new ArgumentException($parameter, $context);
        }

        if ($type == 'bool' && !is_bool($value) && !is_numeric($value)) {
            throw new ArgumentException($parameter, $context);
        }
    }
private function assertType(
        \ReflectionParameter $parameter,
        \ReflectionFunctionAbstract $context,
        $value
    ) {
        if (is_null($value)) {
            if (
                !$parameter->isOptional()
                && !($parameter->isDefaultValueAvailable() && $parameter->getDefaultValue() === null)
            ) {
                throw new ArgumentException($parameter, $context);
            }

            return;
        }

        $type = $parameter->getType();

        if ($type == 'array' && !is_array($value)) {
            throw new ArgumentException($parameter, $context);
        }

        if (($type == 'int' || $type == 'float') && !is_numeric($value)) {
            throw new ArgumentException($parameter, $context);
        }

        if ($type == 'bool' && !is_bool($value) && !is_numeric($value)) {
            throw new ArgumentException($parameter, $context);
        }
    }
private function assertType ( \ ReflectionParameter $ parameter , \ ReflectionFunctionAbstract $ context , $ value ) { if ( is_null ( $ value ) ) { if ( ! $ parameter -> isOptional ( ) && ! ( $ parameter -> isDefaultValueAvailable ( ) && $ parameter -> getDefaultValue ( ) === null ) ) { throw new ArgumentException ( $ parameter , $ context ) ; } return ; } $ type = $ parameter -> getType ( ) ; if ( $ type == 'array' && ! is_array ( $ value ) ) { throw new ArgumentException ( $ parameter , $ context ) ; } if ( ( $ type == 'int' || $ type == 'float' ) && ! is_numeric ( $ value ) ) { throw new ArgumentException ( $ parameter , $ context ) ; } if ( $ type == 'bool' && ! is_bool ( $ value ) && ! is_numeric ( $ value ) ) { throw new ArgumentException ( $ parameter , $ context ) ; } }
Assert that given value are matched parameter type.

@param \ReflectionParameter        $parameter
@param \ReflectionFunctionAbstract $context
@param mixed                       $value

@throws ArgumentException
Assert that given value are matched parameter type .