ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Slim Framework - a micro framework for PHP
    PHP 2019. 5. 12. 16:20
    반응형

    슬림은 단순하지만 강력한 웹 응용 프로그램 및 API를 빠르게 작성할 수 있는 PHP 마이크로 프레임워크입니다.

    GitHub - Slim Framework 소개

    Slim Framework

    슬림 프레임워크(이하 슬림)은 PHP: The Right way의 저자 조쉬 록하트에 의해서 개발되는 PHP 마이크로 프레임워크이다. 라라벨이 득세를 하고 있는 PHP 풀 프레임워크 시장에서 단순하지만 강력하고 작으면서 빠른 마이크로 프레임워크로 꾸준히 성장하고 있는 프로젝트다. 2019년 현재 3 버전이 current이며 4 버전이 알파 테스트 중에 있고 계속해서 다듬어지고 있는 중이다.

    왜 Slim Framework를 써야 하는가?

    무엇보다 슬림은 단순하고 빠르며 러닝 커브가 낮고 가장 PHP 스러운 마이크로 프레임워크라고 생각한다. 반나절 정도 짬을 내서 User Guide를 읽는다면 충분히 다 읽을 수 있을 정도로 간결하다. 라라벨의 마이크로 버전인 루멘이 있지만 라라벨의 의존성에 익숙해져 있는 개발자라면 루멘으로 옮겨가는 게 여간 귀찮은 일이 아니다. 무엇이 지원하는지 지원하지 않는지 따져봐야 하는 수고로움이 있고 이것저것 덧붙이다 보면 결국은 라라벨을 사용하는 게 낫다는 판단을 하게 된다. 하지만 슬림은 애초에 어떤 의존성이 있는 프로젝트가 존재하지 않으며 사실상 PSR 문법과 인터페이스만 알고 있다면 바로 API 서버 구현이 가능한 장점이 있다.

    슬림을 도입하게 되면 정해진 의존성 보다 정해지지 않은 자유도가 훨씬 크다는 것을 알게 된다. 이는 결국 개발자 본인의 디자인 패턴과 코딩 컨벤션을 가질 수 있다로 귀결된다. 슬림을 선택하기 위해 이 글을 찾은 당신은 라라벨의 디자인 패턴에 염증을 느꼈거나 정작 잘 사용하지도 않는 기능을 익히느라 시간을 소비했다는 거 다 알고 있다. 슬림엔 그런 거 없으니 잠깐 시간을 내어 User Guide를 읽어보도록 하자.

    Slim Frameworks의 특징

    실전에서 사용할 수 있는 Slim-Skeleton 저장소를 보면, 소스 파일은 단 4개, 그 외 프런트 컨트롤러 index.php 와 템플릿 파일 하나가 전부일만큼 단순하다. 아래와 같이 크게 5개 부분으로 나누어 볼 수 있다.

    1. PSR-7 (Requst, Response) Interface
    2. Middleware
    3. Dependency Container
    4. Routing
    5. Error Handling

    일단 가장 큰 기능은 PSR-7 HTTP 메시지 구현을 지원한다. HTTP Request와 Response 인터페이스를 이용해서 Routing을 하며 Router별 컨트롤러 패턴을 만들어서 코드 작성이 가능하다. Router에 도달하기 전 같은 Request, Response 객체를 이용하는 Middleware 구성이 가능하고 언제 어디서나 호출 가능한 Dependency Container 기능이 제공된다.

    템플릿 엔진으로 Twig을 사용할 수 있고, 여러 가지 쿡북을 예제로 제공해서 웹 개발에 필수적인 요소들은 이미 구현되어 있는 패키지를 가져다가 쓰기만 하면 된다.

    그 외 추가적으로 Slim-Csrf, Slim-HttpCache, Slim-Flash와 같은 추가 구성요소도 제공되며, Packagist에 있는 다른 구성요소도 쉽게 통합이 가능하다.

    사용후기

    간단한 API 서버부터 복잡도가 매우 높은 암호화폐 거래소에 이르기까지 슬림을 도입 후 후회한 적이 없을 만큼 나와 궁합이 잘 맞는 프레임워크이다. 일반적인 복잡도를 가진 사이트를 구축할 때 성능의 이슈가 없다면 라라벨을 선택할 가능성이 높다. 하지만 성능이 조금이라도 문제가 있다거나 최적화를 원한다면 주저 없이 슬림을 선택할 것이다. 코드이그나이터와 비교를 하자면 PSR 문법과 인터페이스를 쓸 수 있는가? 에 대한 물음에 코드이그나이터는 해결해 줄 수 없다는 것이다. 하지만 슬림은 가장 PSR 인터페이스에 적합하며, 워낙 단순하기 때문에 다른 패키지를 도입하는 것에도 허들이 낮다는 멋진 장점이 있다. 그러기에 가장 PHP 스럽다는 표현이 어울리는 프레임워크라고 생각한다.

    반응형

    'PHP' 카테고리의 다른 글

    쉬운 PHP 코드와 좋은 PHP 코드  (0) 2020.07.10

    댓글 0

© GS.HN Interactive.