D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
tattooscyy
/
test
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Routing
/
Filename :
RouteSignatureParameters.php
back
Copy
<?php namespace Illuminate\Routing; use ReflectionMethod; use ReflectionFunction; use Illuminate\Support\Str; class RouteSignatureParameters { /** * Extract the route action's signature parameters. * * @param array $action * @param string $subClass * @return array */ public static function fromAction(array $action, $subClass = null) { $parameters = is_string($action['uses']) ? static::fromClassMethodString($action['uses']) : (new ReflectionFunction($action['uses']))->getParameters(); return is_null($subClass) ? $parameters : array_filter($parameters, function ($p) use ($subClass) { return $p->getClass() && $p->getClass()->isSubclassOf($subClass); }); } /** * Get the parameters for the given class / method by string. * * @param string $uses * @return array */ protected static function fromClassMethodString($uses) { list($class, $method) = Str::parseCallback($uses); if (! method_exists($class, $method) && is_callable($class, $method)) { return []; } return (new ReflectionMethod($class, $method))->getParameters(); } }