forked from projects/fipamo
ro
9a716acb29
moved methods of string service to helper function and got rid of the string service class still messing around with the sorter helper to see how dependecies work. sorting as a helper may be a bit too complex for what help functions are supposed to be
92 lines
2.9 KiB
PHP
92 lines
2.9 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use Illuminate\Support\ServiceProvider;
|
|
use App\Repositories\PageRepository;
|
|
use App\Interfaces\PageRepositoryInterface;
|
|
use App\Services\SettingsService;
|
|
use App\Services\AuthService;
|
|
use App\Services\ContentService;
|
|
use App\Services\PaginateService;
|
|
use App\Services\ThemeService;
|
|
use App\Services\DocService;
|
|
use App\Services\FileUploadService;
|
|
use App\Services\RenderService;
|
|
use App\Services\SortingService;
|
|
use App\Services\AssetService;
|
|
|
|
class FipamoServiceProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* Register services.
|
|
*/
|
|
public function register(): void
|
|
{
|
|
//services
|
|
$this->app->bind(SettingsService::class, function ($app) {
|
|
return new SettingsService(new DocService(), new ContentService());
|
|
});
|
|
|
|
$this->app->bind(AuthService::class, function ($app) {
|
|
return new AuthService(new SettingsService(new DocService(), new ContentService()));
|
|
});
|
|
|
|
$this->app->bind(ContentService::class, function ($app) {
|
|
return new ContentService();
|
|
});
|
|
|
|
$this->app->bind(ThemeService::class, function ($app) {
|
|
return new ThemeService(new SettingsService(new DocService(), new ContentService()));
|
|
});
|
|
|
|
$this->app->bind(PaginateService::class, function ($app) {
|
|
return new PaginateService(new ContentService());
|
|
});
|
|
|
|
$this->app->bind(DocService::class, function ($app) {
|
|
return new DocService();
|
|
});
|
|
|
|
$this->app->bind(FileUploadService::class, function ($app) {
|
|
return new FileUploadService();
|
|
});
|
|
|
|
$this->app->bind(RenderService::class, function ($app) {
|
|
return new RenderService(
|
|
new SortingService(
|
|
new SettingsService(new DocService(), new ContentService()),
|
|
new ContentService(),
|
|
new ThemeService(new SettingsService(new DocService(), new ContentService()))
|
|
),
|
|
new SettingsService(new DocService(), new ContentService()),
|
|
new ContentService(),
|
|
);
|
|
});
|
|
|
|
$this->app->bind(SortingService::class, function ($app) {
|
|
return new SortingService(
|
|
new SettingsService(new DocService(), new ContentService()),
|
|
new ContentService(),
|
|
new ThemeService(new SettingsService(new DocService(), new ContentService()))
|
|
);
|
|
});
|
|
|
|
$this->app->bind(AssetService::class, function ($app) {
|
|
return new AssetService(
|
|
new ThemeService(
|
|
new SettingsService(new DocService(), new ContentService())
|
|
)
|
|
);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Bootstrap services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
$this->app->bind(PageRepositoryInterface::class, PageRepository::class);
|
|
}
|
|
}
|