Files
lean-console/src/Controller/Request.php
T

35 lines
1.1 KiB
PHP

<?php
namespace Lean\Console\Controller;
use League\Route\Router;
use Lean\Routing;
use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
use Notes\Tell\Attribute\Language, Notes\Route\Attribute\Method\Route;
use \Lean\Console\Lib;
use Picea\Extension\UrlExtension;
class Request extends Console {
use Lib\ConsoleControllerTrait;
#[Route(route: "/request/routes", name: "lean.console:request.route")]
public function routes(ServerRequestInterface $request, array $arguments) : ResponseInterface
{
$routing = $this->container->has(Routing::class) ? $this->container->get(Routing::class) : false;
if ( $routing === false ) {
throw new \Exception("Lean's routing library do not seems to be integrated into your container definition...");
}
$routes = $routing->fetchRoutesAttributes();
uasort($routes, function($a, $b) {
return ( $a->class . $a->name ) <=> ( $b->class . $b->name );
});
return $this->renderView("lean-console/page/request/route", get_defined_vars());
}
}