28 lines
838 B
PHP
28 lines
838 B
PHP
<?php
|
|
|
|
namespace Modules\Developer\Http\Controllers;
|
|
|
|
use Illuminate\View\View;
|
|
|
|
final class DeveloperController
|
|
{
|
|
public function __invoke(): View
|
|
{
|
|
$modules = collect(glob(base_path('Modules/*/module.json')) ?: [])
|
|
->map(function (string $file): array {
|
|
$manifest = json_decode((string) file_get_contents($file), true) ?: [];
|
|
|
|
return [
|
|
'name' => $manifest['name'] ?? basename(dirname($file)),
|
|
'version' => $manifest['version'] ?? 'unknown',
|
|
'description' => $manifest['description'] ?? '',
|
|
'requires' => $manifest['requires'] ?? [],
|
|
];
|
|
})
|
|
->sortBy('name')
|
|
->values();
|
|
|
|
return view('developer::admin.index', compact('modules'));
|
|
}
|
|
}
|