<?php
require __DIR__ . '/../vendor/autoload.php';
$app = require_once __DIR__ . '/../bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$router = $app->make(Illuminate\Routing\Router::class);

echo "Kernel middlewareAliases:\n";
if (property_exists($kernel, 'middlewareAliases')) {
    $ref = new ReflectionClass($kernel);
    $prop = $ref->getProperty('middlewareAliases');
    $prop->setAccessible(true);
    print_r($prop->getValue($kernel));
} else {
    echo "(no middlewareAliases property)\n";
}

echo "\nRouter middleware mapping (alias => class):\n";
print_r($router->getMiddleware());

echo "\nRouter middleware groups:\n";
print_r($router->getMiddlewareGroups());

// Also show whether class exists for Spatie middleware
echo "\nSpatie RoleMiddleware class exists? ";
var_export(class_exists(\Spatie\Permission\Middleware\RoleMiddleware::class));

echo "\nApp middlewares in app/Http/Middleware/:\n";
$files = glob(__DIR__ . '/../app/Http/Middleware/*.php');
foreach ($files as $f) {
    echo basename($f) . "\n";
}
