diff --git a/packages/framework/src/Contracts/RouterContract.php b/packages/framework/src/Contracts/RoutingServiceContract.php similarity index 83% rename from packages/framework/src/Contracts/RouterContract.php rename to packages/framework/src/Contracts/RoutingServiceContract.php index 2d0106af84f..c9463e2042c 100644 --- a/packages/framework/src/Contracts/RouterContract.php +++ b/packages/framework/src/Contracts/RoutingServiceContract.php @@ -4,7 +4,7 @@ use Illuminate\Support\Collection; -interface RouterContract +interface RoutingServiceContract { /** * Construct a new Router instance and discover all routes. @@ -14,9 +14,9 @@ public function __construct(); /** * Get the Singleton instance of the Router. * - * @return \Hyde\Framework\Modules\Routing\RouterContract + * @return \Hyde\Framework\Contracts\RoutingServiceContract */ - public static function getInstance(): RouterContract; + public static function getInstance(): RoutingServiceContract; /** * Get the routes discovered by the router. diff --git a/packages/framework/src/Models/NavigationMenu.php b/packages/framework/src/Models/NavigationMenu.php index b938b7eaed8..d3f56620e3c 100644 --- a/packages/framework/src/Models/NavigationMenu.php +++ b/packages/framework/src/Models/NavigationMenu.php @@ -4,7 +4,7 @@ use Hyde\Framework\Contracts\RouteContract; use Hyde\Framework\Hyde; -use Hyde\Framework\Router; +use Hyde\Framework\Services\RoutingService; use Illuminate\Support\Collection; /** @@ -38,7 +38,7 @@ public function setCurrentRoute(RouteContract $currentRoute): self public function generate(): self { - Router::getInstance()->getRoutes()->each(function (Route $route) { + RoutingService::getInstance()->getRoutes()->each(function (Route $route) { $this->items->push(NavItem::fromRoute($route)); }); diff --git a/packages/framework/src/Models/Route.php b/packages/framework/src/Models/Route.php index 74ba0ab8c15..12bce2dad8d 100644 --- a/packages/framework/src/Models/Route.php +++ b/packages/framework/src/Models/Route.php @@ -7,7 +7,7 @@ use Hyde\Framework\Contracts\RouteFacadeContract; use Hyde\Framework\Exceptions\RouteNotFoundException; use Hyde\Framework\Hyde; -use Hyde\Framework\Router; +use Hyde\Framework\Services\RoutingService; use Illuminate\Support\Collection; /** @@ -92,13 +92,13 @@ public static function get(string $routeKey): static /** @inheritDoc */ public static function getFromKey(string $routeKey): static { - return Router::getInstance()->getRoutes()->get($routeKey) ?? throw new RouteNotFoundException($routeKey); + return RoutingService::getInstance()->getRoutes()->get($routeKey) ?? throw new RouteNotFoundException($routeKey); } /** @inheritDoc */ public static function getFromSource(string $sourceFilePath): static { - return Router::getInstance()->getRoutes()->first(function (RouteContract $route) use ($sourceFilePath) { + return RoutingService::getInstance()->getRoutes()->first(function (RouteContract $route) use ($sourceFilePath) { return $route->getSourceFilePath() === $sourceFilePath; }) ?? throw new RouteNotFoundException($sourceFilePath); } @@ -112,7 +112,7 @@ public static function getFromModel(PageContract $page): RouteContract /** @inheritDoc */ public static function all(): Collection { - return Router::getInstance()->getRoutes(); + return RoutingService::getInstance()->getRoutes(); } /** @inheritDoc */ diff --git a/packages/framework/src/Services/BuildService.php b/packages/framework/src/Services/BuildService.php index 03153d12964..22804bd4d9a 100644 --- a/packages/framework/src/Services/BuildService.php +++ b/packages/framework/src/Services/BuildService.php @@ -5,7 +5,6 @@ use Hyde\Framework\Concerns\InteractsWithDirectories; use Hyde\Framework\Contracts\RouteContract as Route; use Hyde\Framework\Hyde; -use Hyde\Framework\Router; use Hyde\Framework\StaticPageBuilder; use Illuminate\Console\Concerns\InteractsWithIO; use Illuminate\Console\OutputStyle; @@ -24,13 +23,13 @@ class BuildService use InteractsWithIO; use InteractsWithDirectories; - protected Router $router; + protected RoutingService $router; public function __construct(OutputStyle $output) { $this->output = $output; - $this->router = Router::getInstance(); + $this->router = RoutingService::getInstance(); } public function compileStaticPages(): void diff --git a/packages/framework/src/Router.php b/packages/framework/src/Services/RoutingService.php similarity index 90% rename from packages/framework/src/Router.php rename to packages/framework/src/Services/RoutingService.php index 03926901964..2574c8f3cf9 100644 --- a/packages/framework/src/Router.php +++ b/packages/framework/src/Services/RoutingService.php @@ -1,10 +1,10 @@ assertEquals(Router::getInstance()->getRoutes(), Route::all()); + $this->assertEquals(RoutingService::getInstance()->getRoutes(), Route::all()); } public function test_get_link_returns_correct_path_for_root_pages() diff --git a/packages/framework/tests/Feature/RouterTest.php b/packages/framework/tests/Feature/RouterTest.php index 16327116e04..dc5241dbc3f 100644 --- a/packages/framework/tests/Feature/RouterTest.php +++ b/packages/framework/tests/Feature/RouterTest.php @@ -10,33 +10,33 @@ use Hyde\Framework\Models\Pages\MarkdownPage; use Hyde\Framework\Models\Pages\MarkdownPost; use Hyde\Framework\Models\Route; -use Hyde\Framework\Router; +use Hyde\Framework\Services\RoutingService; use Hyde\Testing\TestCase; use Illuminate\Support\Collection; /** - * @covers \Hyde\Framework\Router + * @covers \Hyde\Framework\Services\RoutingService */ class RouterTest extends TestCase { /** - * @covers \Hyde\Framework\Router::getInstance + * @covers \Hyde\Framework\Services\RoutingService::getInstance */ public function test_get_instance_returns_the_router_instance() { - $this->assertInstanceOf(Router::class, Router::getInstance()); - $this->assertEquals(Router::getInstance(), Router::getInstance()); + $this->assertInstanceOf(RoutingService::class, RoutingService::getInstance()); + $this->assertEquals(RoutingService::getInstance(), RoutingService::getInstance()); } /** * Test route autodiscovery. * - * @covers \Hyde\Framework\Router::__construct - * @covers \Hyde\Framework\Router::getRoutes + * @covers \Hyde\Framework\Services\RoutingService::__construct + * @covers \Hyde\Framework\Services\RoutingService::getRoutes */ public function test_get_routes_returns_discovered_routes() { - $routes = (new Router())->getRoutes(); + $routes = (new RoutingService())->getRoutes(); $this->assertContainsOnlyInstancesOf(RouteContract::class, $routes); @@ -47,13 +47,13 @@ public function test_get_routes_returns_discovered_routes() } /** - * @covers \Hyde\Framework\Router::getRoutesForModel + * @covers \Hyde\Framework\Services\RoutingService::getRoutesForModel */ public function test_get_routes_for_model_returns_only_routes_for_the_given_model() { Hyde::touch(('_pages/foo.md')); - $routes = (new Router())->getRoutesForModel(MarkdownPage::class); + $routes = (new RoutingService())->getRoutesForModel(MarkdownPage::class); $this->assertEquals(collect([ 'foo' => new Route(MarkdownPage::parse('foo')), @@ -65,9 +65,9 @@ public function test_get_routes_for_model_returns_only_routes_for_the_given_mode /** * Test route autodiscovery. * - * @covers \Hyde\Framework\Router::discover - * @covers \Hyde\Framework\Router::discoverRoutes - * @covers \Hyde\Framework\Router::discoverPageRoutes + * @covers \Hyde\Framework\Services\RoutingService::discover + * @covers \Hyde\Framework\Services\RoutingService::discoverRoutes + * @covers \Hyde\Framework\Services\RoutingService::discoverPageRoutes */ public function test_discover_routes_finds_and_adds_all_pages_to_route_collection() { @@ -94,7 +94,7 @@ public function test_routes_are_not_discovered_for_disabled_features() touch('_posts/post.md'); touch('_docs/doc.md'); - $this->assertEmpty((new Router())->getRoutes()); + $this->assertEmpty((new RoutingService())->getRoutes()); unlink('_pages/blade.blade.php'); unlink('_pages/markdown.md'); @@ -129,7 +129,7 @@ protected function testRouteModelDiscoveryForPageModel(string $class) $expectedKey => new Route($class::parse('foo')), ]); - $this->assertEquals($expected, (new Router())->getRoutes()); + $this->assertEquals($expected, (new RoutingService())->getRoutes()); unlink(Hyde::path($class::qualifyBasename('foo'))); } diff --git a/packages/realtime-compiler/src/Routing/Router.php b/packages/realtime-compiler/src/Routing/Router.php index 8374bd9c770..4191ce37449 100644 --- a/packages/realtime-compiler/src/Routing/Router.php +++ b/packages/realtime-compiler/src/Routing/Router.php @@ -47,7 +47,7 @@ public function handle(): Response } // Temporary backwards compatibility for versions less than Hyde/Framework v0.48.0-beta - if (! class_exists('\Hyde\Framework\Router')) { + if (! class_exists('\Hyde\Framework\Services\RoutingService')) { return LegacyPageRouter::handle($this->request); }