Skip to content

Commit 19290e9

Browse files
authored
Merge pull request #953 from hydephp/cleanup-HydeServiceProvider-class-internals
Cleanup HydeServiceProvider class internals
2 parents ce07782 + 3259cba commit 19290e9

File tree

2 files changed

+19
-12
lines changed

2 files changed

+19
-12
lines changed

packages/framework/src/Framework/HydeServiceProvider.php

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
use Hyde\Foundation\Providers\ViewServiceProvider;
1212
use Hyde\Framework\Concerns\RegistersFileLocations;
1313
use Hyde\Framework\Services\AssetService;
14-
use Hyde\Hyde;
1514
use Hyde\Markdown\MarkdownConverter;
1615
use Hyde\Pages\BladePage;
1716
use Hyde\Pages\DocumentationPage;
@@ -27,20 +26,22 @@ class HydeServiceProvider extends ServiceProvider
2726
{
2827
use RegistersFileLocations;
2928

29+
protected HydeKernel $kernel;
30+
3031
/**
3132
* Register any application services.
3233
*/
3334
public function register(): void
3435
{
3536
$this->initializeConfiguration();
3637

38+
$this->kernel = HydeKernel::getInstance();
39+
3740
$this->app->singleton(AssetService::class, AssetService::class);
3841

39-
$this->app->singleton(MarkdownConverter::class, function (): MarkdownConverter {
40-
return new MarkdownConverter();
41-
});
42+
$this->app->singleton(MarkdownConverter::class, fn (): MarkdownConverter => new MarkdownConverter());
4243

43-
Hyde::setSourceRoot(config('hyde.source_root', ''));
44+
$this->kernel->setSourceRoot(config('hyde.source_root', ''));
4445

4546
$this->registerPageModels();
4647

@@ -74,7 +75,7 @@ public function register(): void
7475
*/
7576
public function boot(): void
7677
{
77-
HydeKernel::getInstance()->readyToBoot();
78+
$this->kernel->readyToBoot();
7879
}
7980

8081
protected function initializeConfiguration(): void
@@ -90,23 +91,23 @@ protected function registerPageModels(): void
9091
// TODO use the hyde facade once it gets the method annotations
9192

9293
if (Features::hasHtmlPages()) {
93-
HydeKernel::getInstance()->registerPageClass(HtmlPage::class);
94+
$this->kernel->registerPageClass(HtmlPage::class);
9495
}
9596

9697
if (Features::hasBladePages()) {
97-
HydeKernel::getInstance()->registerPageClass(BladePage::class);
98+
$this->kernel->registerPageClass(BladePage::class);
9899
}
99100

100101
if (Features::hasMarkdownPages()) {
101-
HydeKernel::getInstance()->registerPageClass(MarkdownPage::class);
102+
$this->kernel->registerPageClass(MarkdownPage::class);
102103
}
103104

104105
if (Features::hasMarkdownPosts()) {
105-
HydeKernel::getInstance()->registerPageClass(MarkdownPost::class);
106+
$this->kernel->registerPageClass(MarkdownPost::class);
106107
}
107108

108109
if (Features::hasDocumentationPages()) {
109-
HydeKernel::getInstance()->registerPageClass(DocumentationPage::class);
110+
$this->kernel->registerPageClass(DocumentationPage::class);
110111
}
111112
}
112113

packages/framework/tests/Feature/HydeServiceProviderTest.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
use Hyde\Pages\MarkdownPage;
2626
use Hyde\Pages\MarkdownPost;
2727
use Hyde\Testing\TestCase;
28+
use Hyde\Markdown\MarkdownConverter;
2829
use Illuminate\Support\Facades\Artisan;
2930
use function is_subclass_of;
3031
use function method_exists;
@@ -74,7 +75,12 @@ public function test_provider_registers_asset_service_contract()
7475
{
7576
$this->assertTrue($this->app->bound(AssetService::class));
7677
$this->assertInstanceOf(AssetService::class, $this->app->make(AssetService::class));
77-
$this->assertInstanceOf(AssetService::class, $this->app->make(AssetService::class));
78+
}
79+
80+
public function test_provider_registers_markdown_converter_singleton()
81+
{
82+
$this->assertTrue($this->app->bound(MarkdownConverter::class));
83+
$this->assertInstanceOf(MarkdownConverter::class, $this->app->make(MarkdownConverter::class));
7884
}
7985

8086
public function test_provider_registers_source_directories()

0 commit comments

Comments
 (0)