Laravel
Laravel은 PHP를 기반으로 하는 웹 개발 프레임워크입니다.
프레임워크는 대부분 일정한 틀을 지니며, 부품을 가지고 다양한 형태의 결과물을 만들어낸다고들 합니다.
(문법을 지닌 프로그래밍 언어 위에서 만들어져 한 발자국 더 구속된 형태(틀)라 보시면 됩니다.)
라라벨의 장점으로는
- 기존의 중구난방이던 php의 mvc 모델을 일관성 있게 만들어줍니다.
- Blade 템플릿 엔진을 지원해줍니다. (Blade란 php와 html의 적절한 하모니)
- DB 작업을 위해 Eloquent ORM을 지원합니다, 덕분에 쉽고 빠른 DB 작업이 가능합니다.
- 프레임워크이기에 기본적인 보안 사항들이 적용되어있습니다. (CSRF, SQL 인젝션 등등)
Vagrant
Vagrant 홈페이지의 슬러그인 "Development Environments Made Easy" 처럼 Vagrant는 개발 환경을 쉽게 만들어주는 것입니다, 바로 가상 머신(가상화 인스턴스)을 통해서 말이죠.
지금처럼 가상 머신과 Vagrant가 보급화 되기 전에 개발환경에서는 각각 개발자는 자신의 PC의 환경이 여러 가지 요인으로 인해 약간씩 달랐습니다. (os, software version.. 기타 등등)
또는 개발환경뿐만 아니라 여러 가지 오픈 소스를 사용함으로써 이들이 서로 충돌 나거나 시스템이 죽거나 복구 불가능한 상황에 쳐해 지면 해결하기 힘들었습니다.
vagrant는 위에서 언급한 위험 사항들을 해결해줍니다.
개발자들에게 같은 개발 환경을 제공해줄 수 있으며, 오픈 소스가 충돌이 일어나도 해당 가상 환경만을 재설치하면 되기에 안심하고 개발을 할 수 있습니다.
Homestead
vagrant로 똑같은 환경에 가상 환경을 만들었다고 생각합니다.
하지만 환경만 만들어졌을 뿐 개발에 필요한 소프트웨어는 전혀 준비가 되어있지 않습니다.
홈스테드는 이러한 환경에서 라라벨 개발 환경을 세팅해줍니다.
* mac에서는 VALET이 해당 역할을 해주며 Homestead에 비해 비교적 가볍습니다.
'PHP > Laravel' 카테고리의 다른 글
[LifeCycle] 라라벨 Kernel, Service provider (0) | 2021.03.03 |
---|---|
[LifeCycle] 라라벨 Public/index.php (0) | 2021.03.03 |
[Homestead] mysql 8에서 5.7로 다운그레이드 (0) | 2021.02.10 |
PhpStorm에서 Homestead mysql 연결하는 법 (0) | 2021.02.08 |
[Laravel] 지역 화 적용 안될 때(Laravel Localization) (0) | 2021.01.06 |