File "FindsFormRequestForMethod.php"
Full Path: /var/www/html/back/vendor/knuckleswtf/scribe/src/Extracting/FindsFormRequestForMethod.php
File size: 991 bytes
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Knuckles\Scribe\Extracting;
use Illuminate\Foundation\Http\FormRequest;
use ReflectionClass;
use ReflectionException;
use ReflectionFunctionAbstract;
use ReflectionUnionType;
trait FindsFormRequestForMethod
{
protected function getFormRequestReflectionClass(ReflectionFunctionAbstract $method): ?ReflectionClass
{
foreach ($method->getParameters() as $argument) {
$argType = $argument->getType();
if ($argType === null || $argType instanceof ReflectionUnionType) continue;
$argumentClassName = $argType->getName();
if (!class_exists($argumentClassName)) continue;
try {
$argumentClass = new ReflectionClass($argumentClassName);
} catch (ReflectionException $e) {
continue;
}
if ($argumentClass->isSubclassOf(FormRequest::class)) {
return $argumentClass;
}
}
return null;
}
}