CODE CAVE

PHP 프레임워크 라라벨(Laravel) 사용 후기 본문

Web/Back-End

PHP 프레임워크 라라벨(Laravel) 사용 후기

코드케이브 2016. 7. 5. 14:10

라라벨은 요새 뜨고 있는 PHP 프레임워크입니다.

저도 라라벨을 이용해서 프로젝트를 한 5개 정도 진행했었는데요~

매우매우 편리 합니다.


일반적으로 말씀하시는 성능이슈에 대해서는 아직 한번도 못느껴봤습니다.

서버 사양이 그리 좋은 것도 아니었는데 말이죠


일단 라라벨은 PHP 버전이 최소 5.6 이상 이여야하고 컴포저(composer)는 필수 입니다.

근데 컴포저를 사용하는 등의 설정 문제로 일반 호스팅 업체에 받은 서버로는 설정이 안되는 경우가 

있더라구요, 일반호스팅 업체는 PHP 쪽을 애초에 설치해서 주는데 이걸 바꾸려고 고객 센터에 전화

해보니 바꿀수 없다고.. 독립 서버 호스팅을 받던가 하라고 하네요~ 어디인지는 말안하겠습니다만

대부분 일반호스팅이라면 다 똑같을거라고 생각됩니다.


그래서 서버는 아마존, 그리고 유클라우드비즈의 클라우드 서버를 사용했었습니다.

별다른 버그 이슈는 전혀 없고 오히려 이 두 서버를 사용해서 좋았던 점은 

독립서버 처럼 제 맘대로 서버를 다룰 수 있다는 것,

스토리지 서비스를 사용해서 제가 만든 프로그램에서 서버에 파일등을 저장할 때 용량 문제로 걱정할

것이 없었던 것입니다. 파일 전송, 다운로드도 모두 빠르구요!

아마존 스토리지는 사용안해봤는데 유클라우는 그렇습니다.

근데 아마존도 이제 Korea zone이 생겨서 아마 아마존 스토리지 속도도 괜찮지 않을까 싶습니다.

지금 개인 서버를 아마존 코리아로 돌리고 있는데 도쿄로 했을 때보다 체감이 될정도로 빠르긴합니다.


라라벨은 RestAPI와 MVC를 지원합니다.

폴더 구조는 아래와 같습니다.


위 사진에 서보이는 php 파일들은 제가 개발한거라서 안보셔도 되고 폴더만 보시면 대충 느낌이 오실겁니다! Http 폴더에 routes.php에서 RestAPI를 작성합니다.


get('', 'UsersController@selectDefault');
get('/mail/{email}', 'UsersController@checkEmail');
post('', 'UsersController@register');
put('/{id}', 'UsersController@modifyUser');

이게 다 입니다. 물론 프리픽스를 정해서 그룹화 하거나, 컨트롤러로 가기전에 처리할 수 있는 before 등의 기능이 있긴 합니다. 메서드를 쓰고, url을 쓰고 {} 로 변수값을 받을 수도 있습니다. 그리고 두번째 파라미터로 넘기는 것은 어느 컨트롤러의 어느 메서드로 가는가를 지정하는 것입니다. 매우 직관적이죠?


public function checkEmail($email)
{
$userModel = new Users();
return $userModel->checkEmail($email);
}

컨트롤러에서는 이렇게 매개변수로 routes에서 보낸 {변수(email)}을 받습니다.  위 소스는 모델에서 값을 가져와서 json으로 뿌려주는 소스고 뷰를 뿌리고 싶을때는 return view() 이런 식으로 씁니다.


view는 resources/views 폴더 안에 위치하게 되구요! 아무튼 라라벨은 개발하는게 편하고 직관적이고 보안기능도 내장되있습니다. 속도는 그닥 느리다는걸 못느꼈구요. 


라라벨 프레임워크를 사용해서 뭐하나.. 하고 질문 올리신 분 글의 댓글들이 공감되어 링크남깁니다

https://www.laravel.co.kr/posts/341


마지막으로

라라벨 홈페이지(한국어메뉴얼) 링크 남겨놓을게요~





도움이 되셨다면 아래 하트를 뿅..