protected function getControllerBuiltRoute(Route $controllerRoute, Route $route): Route
    {
        $newRoute = clone $route;

        // If there is a base path for this controller
        if (null !== $controllerRoute->getPath()) {
            // Get the route's path
            $path           = $this->validatePath($route->getPath());
            $controllerPath = $this->validatePath($controllerRoute->getPath());

            // Set the path to the base path and route path
            $newRoute->setPath($this->validatePath($controllerPath . $path));
        }

        // If there is a base name for this controller
        if (null !== $controllerRoute->getName()) {
            // Set the name to the base name and route name
            $newRoute->setName(
                $controllerRoute->getName() . '.' . $route->getName()
            );
        }

        // If the base is dynamic
        if (false !== $controllerRoute->isDynamic()) {
            // Set the route to dynamic
            $newRoute->setDynamic(true);
        }

        // If the base is secure
        if (false !== $controllerRoute->isSecure()) {
            // Set the route to dynamic
            $newRoute->setSecure(true);
        }

        // If there is a base middleware collection for this controller
        if (null !== $controllerRoute->getMiddleware()) {
            // Merge the route's middleware and the controller's middleware
            // keeping the controller's middleware first
            $middleware = array_merge(
                $controllerRoute->getMiddleware(),
                $route->getMiddleware() ?? []
            );

            // Set the middleware in the route
            $newRoute->setMiddleware($middleware);
        }

        return $newRoute;
    }
protected function getControllerBuiltRoute(Route $controllerRoute, Route $route): Route
    {
        $newRoute = clone $route;

        // If there is a base path for this controller
        if (null !== $controllerRoute->getPath()) {
            // Get the route's path
            $path           = $this->validatePath($route->getPath());
            $controllerPath = $this->validatePath($controllerRoute->getPath());

            // Set the path to the base path and route path
            $newRoute->setPath($this->validatePath($controllerPath . $path));
        }

        // If there is a base name for this controller
        if (null !== $controllerRoute->getName()) {
            // Set the name to the base name and route name
            $newRoute->setName(
                $controllerRoute->getName() . '.' . $route->getName()
            );
        }

        // If the base is dynamic
        if (false !== $controllerRoute->isDynamic()) {
            // Set the route to dynamic
            $newRoute->setDynamic(true);
        }

        // If the base is secure
        if (false !== $controllerRoute->isSecure()) {
            // Set the route to dynamic
            $newRoute->setSecure(true);
        }

        // If there is a base middleware collection for this controller
        if (null !== $controllerRoute->getMiddleware()) {
            // Merge the route's middleware and the controller's middleware
            // keeping the controller's middleware first
            $middleware = array_merge(
                $controllerRoute->getMiddleware(),
                $route->getMiddleware() ?? []
            );

            // Set the middleware in the route
            $newRoute->setMiddleware($middleware);
        }

        return $newRoute;
    }
protected function getControllerBuiltRoute ( Route $ controllerRoute , Route $ route ) : Route { $ newRoute = clone $ route ; // If there is a base path for this controller if ( null !== $ controllerRoute -> getPath ( ) ) { // Get the route's path $ path = $ this -> validatePath ( $ route -> getPath ( ) ) ; $ controllerPath = $ this -> validatePath ( $ controllerRoute -> getPath ( ) ) ; // Set the path to the base path and route path $ newRoute -> setPath ( $ this -> validatePath ( $ controllerPath . $ path ) ) ; } // If there is a base name for this controller if ( null !== $ controllerRoute -> getName ( ) ) { // Set the name to the base name and route name $ newRoute -> setName ( $ controllerRoute -> getName ( ) . '.' . $ route -> getName ( ) ) ; } // If the base is dynamic if ( false !== $ controllerRoute -> isDynamic ( ) ) { // Set the route to dynamic $ newRoute -> setDynamic ( true ) ; } // If the base is secure if ( false !== $ controllerRoute -> isSecure ( ) ) { // Set the route to dynamic $ newRoute -> setSecure ( true ) ; } // If there is a base middleware collection for this controller if ( null !== $ controllerRoute -> getMiddleware ( ) ) { // Merge the route's middleware and the controller's middleware // keeping the controller's middleware first $ middleware = array_merge ( $ controllerRoute -> getMiddleware ( ) , $ route -> getMiddleware ( ) ?? [ ] ) ; // Set the middleware in the route $ newRoute -> setMiddleware ( $ middleware ) ; } return $ newRoute ; }
Get a new route with controller route additions.

@param Route $controllerRoute
@param Route $route

@return \Valkyrja\Routing\Annotations\Route
Get a new route with controller route additions .