ContentServiceProvider.php
- Pfad:
src/ServiceProvider/ContentServiceProvider.php
- Namespace: ServiceProvider
- Zeilen: 127 | Größe: 8,285 Bytes
- Geändert: 2025-12-27 14:12:38 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 75
- Dependencies: 0 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Issues 1
| Zeile |
Typ |
Beschreibung |
| - |
coupling |
Klasse hat 42 Dependencies (max: 15) |
Dependencies 43
- implements ServiceProvider\ServiceProviderInterface
- use Application\ContentCollectionService
- use Application\PipelineStepService
- use Domain\Repository\ChunkRepositoryInterface
- use Domain\Repository\ChunkTaxonomyRepositoryInterface
- use Domain\Repository\CollectionRepositoryInterface
- use Domain\Repository\ContentOrderRepositoryInterface
- use Domain\Repository\ContentRepositoryInterface
- use Domain\Repository\ContentSourceRepositoryInterface
- use Domain\Repository\ContentVersionRepositoryInterface
- use Domain\Repository\DocumentRepositoryInterface
- use Domain\Repository\EntityRepositoryInterface
- use Domain\Repository\EntityTaxonomyRepositoryInterface
- use Domain\Repository\OntologyRepositoryInterface
- use Domain\Repository\PipelineConfigRepositoryInterface
- use Domain\Repository\PipelineRepositoryInterface
- use Domain\Repository\PipelineRunRepositoryInterface
- use Domain\Repository\PipelineStepRepositoryInterface
- use Domain\Repository\RelationRepositoryInterface
- use Domain\Repository\SemanticSearchRepositoryInterface
- use Domain\Repository\StopwordRepositoryInterface
- use Domain\Repository\TaxonomyRepositoryInterface
- use Framework\Container
- use Infrastructure\Persistence\ChunkRepository
- use Infrastructure\Persistence\ChunkTaxonomyRepository
- use Infrastructure\Persistence\CollectionRepository
- use Infrastructure\Persistence\ContentOrderRepository
- use Infrastructure\Persistence\ContentRepository
- use Infrastructure\Persistence\ContentSourceRepository
- use Infrastructure\Persistence\ContentVersionRepository
- use Infrastructure\Persistence\DocumentRepository
- use Infrastructure\Persistence\EntityRepository
- use Infrastructure\Persistence\EntityTaxonomyRepository
- use Infrastructure\Persistence\OntologyRepository
- use Infrastructure\Persistence\PipelineConfigRepository
- use Infrastructure\Persistence\PipelineRepository
- use Infrastructure\Persistence\PipelineRunRepository
- use Infrastructure\Persistence\PipelineStepRepository
- use Infrastructure\Persistence\RelationRepository
- use Infrastructure\Persistence\SemanticSearchRepository
- use Infrastructure\Persistence\StopwordRepository
- use Infrastructure\Persistence\TaxonomyRepository
- use Infrastructure\Validation\CollectionValidator
Klassen 69
-
ContentServiceProvider
class
Zeile 55
-
Container
class
Zeile 60
-
Container
class
Zeile 61
-
Container
class
Zeile 62
-
Container
class
Zeile 63
-
Container
class
Zeile 64
-
Container
class
Zeile 65
-
Container
class
Zeile 66
-
Container
class
Zeile 67
-
Container
class
Zeile 68
-
get
class
Zeile 70
-
get
class
Zeile 71
-
set
class
Zeile 72
-
Container
class
Zeile 74
-
Container
class
Zeile 75
-
Container
class
Zeile 76
-
Container
class
Zeile 77
-
Container
class
Zeile 78
-
Container
class
Zeile 79
-
Container
class
Zeile 80
-
Container
class
Zeile 81
-
Container
class
Zeile 82
-
Container
class
Zeile 83
-
Container
class
Zeile 86
-
set
class
Zeile 86
-
Container
class
Zeile 87
-
set
class
Zeile 87
-
Container
class
Zeile 88
-
set
class
Zeile 88
-
Container
class
Zeile 89
-
set
class
Zeile 89
-
Container
class
Zeile 90
-
set
class
Zeile 90
-
Container
class
Zeile 91
-
set
class
Zeile 91
-
Container
class
Zeile 92
-
set
class
Zeile 92
-
Container
class
Zeile 93
-
set
class
Zeile 93
-
Container
class
Zeile 94
-
set
class
Zeile 94
-
Container
class
Zeile 95
-
set
class
Zeile 95
-
Container
class
Zeile 96
-
set
class
Zeile 96
-
Container
class
Zeile 97
-
set
class
Zeile 97
-
Container
class
Zeile 98
-
set
class
Zeile 98
-
Container
class
Zeile 99
-
set
class
Zeile 99
-
Container
class
Zeile 100
-
set
class
Zeile 100
-
Container
class
Zeile 101
-
set
class
Zeile 101
-
Container
class
Zeile 102
-
set
class
Zeile 102
-
Container
class
Zeile 103
-
set
class
Zeile 103
-
Container
class
Zeile 104
-
set
class
Zeile 104
-
Container
class
Zeile 107
-
set
class
Zeile 108
-
Container
class
Zeile 111
-
get
class
Zeile 113
-
set
class
Zeile 114
-
Container
class
Zeile 118
-
get
class
Zeile 120
-
get
class
Zeile 121
Funktionen 1
-
register()
public
Zeile 57
Verwendet von 1
Versionen 22
-
v22
2025-12-27 14:12 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v21
2025-12-27 14:12 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v20
2025-12-27 14:12 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v19
2025-12-27 14:12 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v18
2025-12-27 14:11 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v17
2025-12-27 14:11 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v16
2025-12-27 14:11 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v15
2025-12-27 14:10 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v14
2025-12-27 14:10 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v13
2025-12-27 14:10 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v12
2025-12-27 00:16 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v11
2025-12-27 00:16 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v10
2025-12-27 00:16 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v9
2025-12-27 00:16 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v8
2025-12-25 17:01 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v7
2025-12-25 17:00 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v6
2025-12-25 17:00 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v5
2025-12-25 17:00 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v4
2025-12-25 17:00 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v3
2025-12-25 16:59 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v2
2025-12-25 16:59 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
-
v1
2025-12-25 16:59 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
Code
<?php
declare(strict_types=1);
// @responsibility: Register Content bounded context services in DI container
namespace ServiceProvider;
use Application\ContentCollectionService;
use Application\PipelineStepService;
use Domain\Repository\ChunkRepositoryInterface;
use Domain\Repository\ChunkTaxonomyRepositoryInterface;
use Domain\Repository\CollectionRepositoryInterface;
use Domain\Repository\ContentOrderRepositoryInterface;
use Domain\Repository\ContentRepositoryInterface;
use Domain\Repository\ContentSourceRepositoryInterface;
use Domain\Repository\ContentVersionRepositoryInterface;
use Domain\Repository\DocumentRepositoryInterface;
use Domain\Repository\EntityRepositoryInterface;
use Domain\Repository\EntityTaxonomyRepositoryInterface;
use Domain\Repository\OntologyRepositoryInterface;
use Domain\Repository\PipelineConfigRepositoryInterface;
use Domain\Repository\PipelineRepositoryInterface;
use Domain\Repository\PipelineRunRepositoryInterface;
use Domain\Repository\PipelineStepRepositoryInterface;
use Domain\Repository\RelationRepositoryInterface;
use Domain\Repository\SemanticSearchRepositoryInterface;
use Domain\Repository\StopwordRepositoryInterface;
use Domain\Repository\TaxonomyRepositoryInterface;
use Framework\Container;
use Infrastructure\Persistence\ChunkRepository;
use Infrastructure\Persistence\ChunkTaxonomyRepository;
use Infrastructure\Persistence\CollectionRepository;
use Infrastructure\Persistence\ContentOrderRepository;
use Infrastructure\Persistence\ContentRepository;
use Infrastructure\Persistence\ContentSourceRepository;
use Infrastructure\Persistence\ContentVersionRepository;
use Infrastructure\Persistence\DocumentRepository;
use Infrastructure\Persistence\EntityRepository;
use Infrastructure\Persistence\EntityTaxonomyRepository;
use Infrastructure\Persistence\OntologyRepository;
use Infrastructure\Persistence\PipelineConfigRepository;
use Infrastructure\Persistence\PipelineRepository;
use Infrastructure\Persistence\PipelineRunRepository;
use Infrastructure\Persistence\PipelineStepRepository;
use Infrastructure\Persistence\RelationRepository;
use Infrastructure\Persistence\SemanticSearchRepository;
use Infrastructure\Persistence\StopwordRepository;
use Infrastructure\Persistence\TaxonomyRepository;
use Infrastructure\Validation\CollectionValidator;
/**
* ContentServiceProvider registers all content management services.
*/
final class ContentServiceProvider implements ServiceProviderInterface
{
public function register(Container $container): void
{
// Repositories
$container->set(CollectionRepository::class, fn (Container $c) => new CollectionRepository($c->get('pdo.dev'), $c->get('pdo.content')));
$container->set(PipelineRepository::class, fn (Container $c) => new PipelineRepository($c->get('pdo.content')));
$container->set(PipelineConfigRepository::class, fn (Container $c) => new PipelineConfigRepository($c->get('pdo.content')));
$container->set(PipelineRunRepository::class, fn (Container $c) => new PipelineRunRepository($c->get('pdo.content')));
$container->set(PipelineStepRepository::class, fn (Container $c) => new PipelineStepRepository($c->get('pdo.content')));
$container->set(ContentOrderRepository::class, fn (Container $c) => new ContentOrderRepository($c->get('pdo.content')));
$container->set(ContentVersionRepository::class, fn (Container $c) => new ContentVersionRepository($c->get('pdo.content')));
$container->set(ContentSourceRepository::class, fn (Container $c) => new ContentSourceRepository($c->get('pdo.content')));
$container->set(ContentRepository::class, fn (Container $c) => new ContentRepository(
$c->get('pdo.content'),
$c->get(ContentOrderRepository::class),
$c->get(ContentVersionRepository::class),
$c->get(ContentSourceRepository::class)
));
$container->set(TaxonomyRepository::class, fn (Container $c) => new TaxonomyRepository($c->get('pdo.content')));
$container->set(OntologyRepository::class, fn (Container $c) => new OntologyRepository($c->get('pdo.content')));
$container->set(DocumentRepository::class, fn (Container $c) => new DocumentRepository($c->get('pdo.content')));
$container->set(ChunkRepository::class, fn (Container $c) => new ChunkRepository($c->get('pdo.content')));
$container->set(RelationRepository::class, fn (Container $c) => new RelationRepository($c->get('pdo.content')));
$container->set(EntityRepository::class, fn (Container $c) => new EntityRepository($c->get('pdo.content')));
$container->set(SemanticSearchRepository::class, fn (Container $c) => new SemanticSearchRepository($c->get('pdo.content')));
$container->set(StopwordRepository::class, fn (Container $c) => new StopwordRepository($c->get('pdo.content')));
$container->set(ChunkTaxonomyRepository::class, fn (Container $c) => new ChunkTaxonomyRepository($c->get('pdo.content')));
$container->set(EntityTaxonomyRepository::class, fn (Container $c) => new EntityTaxonomyRepository($c->get('pdo.content')));
// Interface aliases
$container->set(CollectionRepositoryInterface::class, fn (Container $c) => $c->get(CollectionRepository::class));
$container->set(PipelineRepositoryInterface::class, fn (Container $c) => $c->get(PipelineRepository::class));
$container->set(PipelineConfigRepositoryInterface::class, fn (Container $c) => $c->get(PipelineConfigRepository::class));
$container->set(PipelineRunRepositoryInterface::class, fn (Container $c) => $c->get(PipelineRunRepository::class));
$container->set(PipelineStepRepositoryInterface::class, fn (Container $c) => $c->get(PipelineStepRepository::class));
$container->set(ContentOrderRepositoryInterface::class, fn (Container $c) => $c->get(ContentOrderRepository::class));
$container->set(ContentVersionRepositoryInterface::class, fn (Container $c) => $c->get(ContentVersionRepository::class));
$container->set(ContentSourceRepositoryInterface::class, fn (Container $c) => $c->get(ContentSourceRepository::class));
$container->set(ContentRepositoryInterface::class, fn (Container $c) => $c->get(ContentRepository::class));
$container->set(TaxonomyRepositoryInterface::class, fn (Container $c) => $c->get(TaxonomyRepository::class));
$container->set(OntologyRepositoryInterface::class, fn (Container $c) => $c->get(OntologyRepository::class));
$container->set(DocumentRepositoryInterface::class, fn (Container $c) => $c->get(DocumentRepository::class));
$container->set(ChunkRepositoryInterface::class, fn (Container $c) => $c->get(ChunkRepository::class));
$container->set(RelationRepositoryInterface::class, fn (Container $c) => $c->get(RelationRepository::class));
$container->set(EntityRepositoryInterface::class, fn (Container $c) => $c->get(EntityRepository::class));
$container->set(SemanticSearchRepositoryInterface::class, fn (Container $c) => $c->get(SemanticSearchRepository::class));
$container->set(StopwordRepositoryInterface::class, fn (Container $c) => $c->get(StopwordRepository::class));
$container->set(ChunkTaxonomyRepositoryInterface::class, fn (Container $c) => $c->get(ChunkTaxonomyRepository::class));
$container->set(EntityTaxonomyRepositoryInterface::class, fn (Container $c) => $c->get(EntityTaxonomyRepository::class));
// Services
$container->set(CollectionValidator::class, function (Container $c) {
return new CollectionValidator($c->get(CollectionRepository::class));
});
$container->set(ContentCollectionService::class, function (Container $c) {
return new ContentCollectionService(
$c->get(CollectionRepository::class),
$c->get(CollectionValidator::class)
);
});
$container->set(PipelineStepService::class, function (Container $c) {
return new PipelineStepService(
$c->get(PipelineConfigRepository::class),
$c->get(PipelineStepRepository::class),
$c->get(\Infrastructure\AI\ModelRegistry::class)
);
});
}
}