PHpullh
학습 라이브러리/PHP/Middleware 파이프라인

PHP · 패턴

Middleware 파이프라인

HTTP 미들웨어가 서로 감싸며 요청을 흘려보내는 구조를 보여주는 예제입니다.

패턴중급middlewarepipelinehttp

핵심 설명

HTTP 미들웨어가 서로 감싸며 요청을 흘려보내는 구조를 보여주는 예제입니다.

PHP code

<?php
$middlewares = [
    fn (array $request, callable $next) => $next($request + ['trace' => 'a']),
    fn (array $request, callable $next) => $next($request + ['auth' => true]),
];

$kernel = array_reduce(
    array_reverse($middlewares),
    fn (callable $next, callable $mw): callable => fn (array $request) => $mw($request, $next),
    fn (array $request): array => $request
);

print_r($kernel(['path' => '/']));

학습 팁

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

주의할 점

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

자주 묻는 질문

Middleware 파이프라인란 무엇인가요?

HTTP 미들웨어가 서로 감싸며 요청을 흘려보내는 구조를 보여주는 예제입니다.

Middleware 파이프라인 학습 시 주의할 점은 무엇인가요?

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