왜 라라벨을 사용하는걸까?

2025. 7. 16. 23:06·Laravel

라라벨이란?

PHP를 사용해서 웹 어플리케이션을 개발할 때 사용하는 프레임워크이다.

 

 

그렇다면 왜 라라벨을 사용하는걸까?

PHP는 언어 특성상 다른 언어에 비하면 높은 자유도를 갖는데, 이는 코드가 난잡해지고 유지보수가 어렵도록 만든다는 단점이 있다.

그로인한 PHP 레거시 프로젝트에 대한 나쁜 인식이 있는데, 그러한 문제들 중 일부를 라라벨이 해결해줄 수 있다.

 

  1. 패키지 매니저인 컴포저(Composer)의 적극적인 활용
    • 오픈소스 패키지를 포함할 수 있음
    • PSR-4 Autoloader Standard를 따르기에, 파일을 수동으로 포함할 필요가 없음
  2. 아키텍처 중 하나인 MVC를 따르기에 구조적인 어플리케이션 구성 가능
    • 사용하는 기능과 구성 요소들이 위치할 폴더 구조가 어느정도 정해져 있으므로, 유지보수가 용이함
    • 디렉터리 구조나 아키텍처에 대한 고민이 덜해지기에 비즈니스 로직에 집중할 수 있음
  3. 비즈니스 로직이 특정 객체를 직접 제어하지 않고 외부에서 주입해서 처리할 수 있도록 함
    • 의존성 주입(DI), 의존성 제어 역전(IoC)을 통해 로직이 가지는 결합도를 낮추고, 코드의 재사용성을 높임
  4. 내장함수로 처리하던 array_*, str_* 계열 함수의 일관적이지 않은 사용을 개선하고, 보조함수를 재공함
    • 함수형 프로그래밍으로 컬렉션을 처리할 수 있도록 개선 가능
  5. 모델과 엘로퀀트 ORM을 사용해서 데이터베이스를 간결하게 조작 가능함
    • 직접 PDO 레이어를 통해 데이터베이스에 접근할 필요가 없으며, 당연히 mysqli_* 같은 함수도 쓸 필요 없음
    • 로직 내부에서 직접 쿼리를 하드코딩해서 데이터를 바인딩하지 않아도 되어 코드도 단순해지고, 보안성도 좋아짐
  6. 뷰는 블레이드라는 템플릿을 사용하고 상속, 포함, 컴포넌트를 사용하여 쉽게 레이아웃 구성 가능함
    • @로 시작하는 지시어를 사용함
  7. 라우팅 및 컨트롤러로 인해 엔드포인트에 .php가 붙을 필요가 없어짐
    • 프론트 컨트롤러 패턴을 사용해서, index.php를 제외하고는 Document Root 외부에 위치하기에 레거시보다 보안성이 좋음
  8. 미들웨어라는 별도의 레이어로 비즈니스 로직과 직접적인 관련이 없는 부분을 분리할 수 있음
    • 예를 들면, 세션 및 값 필터링, CSRF_TOKEN 검증 등(꼭 필요하긴 하지만 비즈니스 로직은 아닌 부분들)
  9. 마이그레이션을 활용하여 쿼리 대신 PHP 코드로 테이블을 생성할 수 있음
    • 시딩을 통해 더미데이터를 넣을 수 있어 편리함
  10. 요청 및 응답을 래핑해서 일관되게 요청 파라미터를 얻을 수 있고, 값의 유효성 검사를 손쉽게 처리할 수 있음
    • $_REQUEST, $_GET, $_POST 같은 글로벌 변수를 사용하지 않아도 됨
    • 응답의 경우 리다이렉트, 파일 바이너리, JSON에 대한 응답을 줄 수 있음

 

 

 

결론

라라벨은 다소 무겁게 느껴질 수 있으나, 사용자가 활용할 수 있을만한 많은 기능을 보유하고 있다.
이 점이 PHP 레거시 프로젝트들의 단점을 해소해줄 수 있으므로 사용하면 좋다.

 

'Laravel' 카테고리의 다른 글
  • 라라벨의 파사드와 헬퍼함수 그리고 Laravel Contracts
  • 라라벨의 컨테이너와 서비스 프로바이더 개념
  • 라라벨의 아키텍처 - MVC에 대해서
  • 라라벨 프로젝트 세팅하기(아티즌, 환경설정)
rlaehdehd7
rlaehdehd7
공부한 것들 기록하는 공간입니다 😁
  • rlaehdehd7
    끄적끄적 개발로그
    rlaehdehd7
    • 분류 전체보기 (30)
      • Laravel (5)
      • Java (0)
      • AWS (7)
      • SQL (0)
      • DevOps (11)
        • docker (8)
        • CI-CD (3)
      • Network (1)
      • Frontend (5)
        • Vue.js (4)
        • Next.js (1)
  • 전체
    오늘
    어제
  • 태그

    php
    도커
    Container
    티스토리챌린지
    laravel
    오블완
    컨퍼런스
    it
    Vue.js
    라라벨
    컨테이너
    DevOps
    개발
    docker
    AWS
  • hELLO· Designed By정상우.v4.10.4
rlaehdehd7
왜 라라벨을 사용하는걸까?
상단으로

티스토리툴바