PHpullh
학습 라이브러리/PHP/Service Container 간단 구현

PHP · 패턴

Service Container 간단 구현

의존 객체 생성 책임을 모으는 아주 작은 서비스 컨테이너 예제입니다.

패턴중급containerdependency-injectionfactory

핵심 설명

의존 객체 생성 책임을 모으는 아주 작은 서비스 컨테이너 예제입니다.

PHP code

<?php
class Container {
    private array $factories = [];

    public function set(string $id, callable $factory): void { $this->factories[$id] = $factory; }
    public function get(string $id): mixed { return $this->factories[$id]($this); }
}

$container = new Container();
$container->set('config', fn () => ['env' => 'local']);
print_r($container->get('config'));

학습 팁

패턴 예제는 클래스 수보다 의존성 방향과 책임 분리를 중심으로 읽는 것이 더 중요합니다.

주의할 점

패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.

자주 묻는 질문

Service Container 간단 구현란 무엇인가요?

의존 객체 생성 책임을 모으는 아주 작은 서비스 컨테이너 예제입니다.

Service Container 간단 구현 학습 시 주의할 점은 무엇인가요?

패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.