Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Container/Util.php
Строк: 64
<?php

namespace IlluminateContainer;

use 
Closure;
use 
ReflectionNamedType;

/**
 * @internal
 */
class Util
{
    
/**
     * If the given value is not an array and not null, wrap it in one.
     *
     * From Arr::wrap() in IlluminateSupport.
     *
     * @param  mixed  $value
     * @return array
     */
    
public static function arrayWrap($value)
    {
        if (
is_null($value)) {
            return [];
        }

        return 
is_array($value) ? $value : [$value];
    }

    
/**
     * Return the default value of the given value.
     *
     * From global value() helper in IlluminateSupport.
     *
     * @param  mixed  $value
     * @param  mixed  ...$args
     * @return mixed
     */
    
public static function unwrapIfClosure($value, ...$args)
    {
        return 
$value instanceof Closure $value(...$args) : $value;
    }

    
/**
     * Get the class name of the given parameter's type, if possible.
     *
     * From Reflector::getParameterClassName() in IlluminateSupport.
     *
     * @param  ReflectionParameter  $parameter
     * @return string|null
     */
    
public static function getParameterClassName($parameter)
    {
        
$type $parameter->getType();

        if (! 
$type instanceof ReflectionNamedType || $type->isBuiltin()) {
            return 
null;
        }

        
$name $type->getName();

        if (! 
is_null($class $parameter->getDeclaringClass())) {
            if (
$name === 'self') {
                return 
$class->getName();
            }

            if (
$name === 'parent' && $parent $class->getParentClass()) {
                return 
$parent->getName();
            }
        }

        return 
$name;
    }
}
Онлайн: 0
Реклама