first commit

This commit is contained in:
julien
2026-03-20 22:16:20 +01:00
commit 42a4ba3e9a
136 changed files with 10141 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
<?php
declare(strict_types=1);
use App\Post\Application\PostApplicationService;
use App\Post\Application\PostServiceInterface;
use App\Post\Application\UseCase\CreatePost;
use App\Post\Application\UseCase\DeletePost;
use App\Post\Application\UseCase\UpdatePost;
use App\Post\Domain\Repository\PostMediaUsageRepositoryInterface;
use App\Post\Domain\Repository\PostRepositoryInterface;
use App\Post\Domain\Service\PostMediaReferenceExtractorInterface;
use App\Post\Domain\Service\PostSlugGenerator;
use App\Post\Infrastructure\HtmlPostMediaReferenceExtractor;
use App\Post\Infrastructure\PdoPostMediaUsageRepository;
use App\Post\Infrastructure\PdoPostRepository;
use App\Post\Infrastructure\PdoTaxonUsageChecker;
use App\Post\Infrastructure\PostMediaUsageReader;
use App\Post\UI\Http\RssController;
use function DI\autowire;
use function DI\factory;
use Netig\Netslim\Media\Contracts\MediaUsageReaderInterface;
use Netig\Netslim\Taxonomy\Contracts\TaxonUsageCheckerInterface;
return [
PostServiceInterface::class => autowire(PostApplicationService::class),
PostRepositoryInterface::class => autowire(PdoPostRepository::class),
PostMediaUsageRepositoryInterface::class => autowire(PdoPostMediaUsageRepository::class),
PostMediaReferenceExtractorInterface::class => autowire(HtmlPostMediaReferenceExtractor::class),
TaxonUsageCheckerInterface::class => autowire(PdoTaxonUsageChecker::class),
PostSlugGenerator::class => autowire(),
CreatePost::class => autowire(),
UpdatePost::class => autowire(),
DeletePost::class => autowire(),
MediaUsageReaderInterface::class => autowire(PostMediaUsageReader::class),
RssController::class => factory(function (PostServiceInterface $postService): RssController {
return new RssController(
$postService,
rtrim($_ENV['APP_URL'] ?? 'http://localhost', '/'),
$_ENV['APP_NAME'] ?? 'Netslim Blog',
);
}),
];