File: /home/eslinced-103/brise-edu.or.kr/app/Providers/AbstractPackageProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Str;
use Laravel\Nova\Actions\ActionResource;
use Laravel\Nova\Resource;
use Symfony\Component\Finder\Finder;
use ReflectionClass;
class AbstractPackageProvider extends ServiceProvider{
protected function resources($dir): array
{
$directory = $dir . '/Resources';
$namespace = $this->namespace;
$resources = [];
$OS_Separator = DIRECTORY_SEPARATOR === '/' ? '/' : '\\';
foreach ((new Finder)->in($directory)->files() as $resource) {
$resource = str_replace(
'.php',
'',
$namespace."\\Resources\\".Str::afterLast($resource, $OS_Separator)
);
if (is_subclass_of($resource, Resource::class) &&
! (new ReflectionClass($resource))->isAbstract() &&
! (is_subclass_of($resource, ActionResource::class))) {
$resources[] = $resource;
}
}
return $resources;
}
}