Viewing File: /usr/local/cpanel/whostmgr/docroot/cgi/ncssl/source/src/Traits/RouteGeneratorTrait.php

<?php

namespace App\Traits;

use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;

trait RouteGeneratorTrait
{
    public function __construct(
        protected readonly UrlGeneratorInterface $generator
    ) {
    }

    public function getUrlByName(string $name, array $params = []): string
    {
        $relativePath = $this->generator->generate($name, $params);

        return $this->generator->getContext()->getBaseUrl() . '?p=' . $relativePath;
    }

    protected function redirectToRoute(string $route, array $parameters = [], int $status = 302): RedirectResponse
    {
        return $this->redirect($this->getUrlByName($route, $parameters), $status);
    }

    protected function redirect(string $url, int $status = 302): RedirectResponse
    {
        return new RedirectResponse($url, $status);
    }
}
Back to Directory File Manager