Skip to content

Commit f9d3f01

Browse files
authored
Merge pull request #940 from hydephp/create-configuration-service-provider
Create configuration service provider
2 parents 3a6ce1c + 4502ca8 commit f9d3f01

File tree

3 files changed

+40
-4
lines changed

3 files changed

+40
-4
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Hyde\Foundation\Providers;
6+
7+
use Hyde\Framework\Services\YamlConfigurationService;
8+
use Illuminate\Support\ServiceProvider;
9+
10+
class ConfigurationServiceProvider extends ServiceProvider
11+
{
12+
/**
13+
* Run any logic before the Hyde Service Provider is registered.
14+
*/
15+
public function initialize(): void
16+
{
17+
if (YamlConfigurationService::hasFile()) {
18+
YamlConfigurationService::boot();
19+
}
20+
}
21+
22+
public function register(): void
23+
{
24+
//
25+
}
26+
27+
public function boot(): void
28+
{
29+
//
30+
}
31+
}

packages/framework/src/Framework/HydeServiceProvider.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
use Hyde\Console\HydeConsoleServiceProvider;
88
use Hyde\Facades\Features;
99
use Hyde\Foundation\HydeKernel;
10+
use Hyde\Foundation\Providers\ConfigurationServiceProvider;
1011
use Hyde\Framework\Concerns\RegistersFileLocations;
1112
use Hyde\Framework\Services\AssetService;
12-
use Hyde\Framework\Services\YamlConfigurationService;
1313
use Hyde\Framework\Views\Components\LinkComponent;
1414
use Hyde\Hyde;
1515
use Hyde\Markdown\MarkdownConverter;
@@ -112,9 +112,8 @@ public function boot(): void
112112

113113
protected function initializeConfiguration(): void
114114
{
115-
if (YamlConfigurationService::hasFile()) {
116-
YamlConfigurationService::boot();
117-
}
115+
$this->app->register(ConfigurationServiceProvider::class);
116+
$this->getConfigurationProvider()->initialize();
118117
}
119118

120119
/**
@@ -152,4 +151,9 @@ protected function registerModuleServiceProviders(): void
152151
{
153152
$this->app->register(HydeConsoleServiceProvider::class);
154153
}
154+
155+
protected function getConfigurationProvider(): ServiceProvider|ConfigurationServiceProvider
156+
{
157+
return $this->app->getProvider(ConfigurationServiceProvider::class);
158+
}
155159
}

packages/framework/tests/Feature/HydeServiceProviderTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
/**
3434
* @covers \Hyde\Framework\HydeServiceProvider
3535
* @covers \Hyde\Framework\Concerns\RegistersFileLocations
36+
* @covers \Hyde\Foundation\Providers\ConfigurationServiceProvider
3637
*/
3738
class HydeServiceProviderTest extends TestCase
3839
{

0 commit comments

Comments
 (0)