라라벨 5 입문 및 실전 강좌
라라벨은 PHP 언어로 개발된 풀스택 MVC 웹 어플리케이션 프레임웍이다.
종이책 출간 안내
http://blog.appkr.kr/work-n-play/laravel-paper-book-published/
이 강좌를 처음 시작하시는 분들께
2016년 4월 현재 laravel/framework
프로젝트에는 13,000개가 넘는 이슈와 거의 13,000개에 육박하는 커밋이 등록되어 있다. 곧 라라벨 탄생 5주기가 되는데, 5년
동안의 행적치고는 엄청나다. 라라벨이 살아 있다는 증거다. 이 강좌는 1월 말에 다썼다. 불과 3달 남짓 동안 또 엄청난 변화가 있었다. 이 강좌를 읽기 전에, https://github.com/appkr/l5essential/issues/10 를 꼭 읽고
시작하시기 바란다. 이 강좌에서 수정 적용할 부분을 기록해 두었다.
목적
- 라라벨 입문을 돕는다.
- 실전 강좌를 통해 중급 이상의 개발자로 성장할 수 있도록 돕는다.
- 모던 개발 방법론과 베스트 프랙티스를 전파하여, 국내 PHP 개발자 생태계가 진화할 수 있도록 일조한다.
목표
- 8 시간 정도에 라라벨의 기본기를 모두 마스터하는 것을 목표로 한다. (1강 ~ 25강)
- 제시된 실전 프로젝트를 통해 중급 이상의 라라벨 개발자로 성장하도록 한다. (26강 ~ 계속 연재 중)
다루지 않는 것들
강좌를 진행하기 위해 사용하지만, 설명하지 않는 것들이다.
- PHP 문법
- 웹 프로그래밍 일반론
- 객체 지향 프로그래밍(OOP) 일반론
- 프론트엔드 프로그래밍 일반론
같이 배워 볼 주제들
[입문코스] 라라벨 프레임 입문
라라벨 입문자들이 꼭 알아야 하는 내용만 추렸다 (고 생각한다). 왼쪽 메뉴에서 25강까지에 해당한다.
[중급코스] 실전 프로젝트
총 3개의 실전 프로젝트를 같이 만들어 본다.
1. Markdown Viewer
마크다운으로 작성된 이 강좌들을 HTML 뷰로 나이스하게 보여주는 기능을 구현해 본다. 이를 통해 Filesystem, Custom Helper, Cache, Elixir 등의 라라벨 기능을 살펴볼 예정이다. 왼쪽 메뉴에서 26~30강에 해당한다.
2. Forum
StackOverflow 처럼 댓글이 가능한 포럼을 구현해 본다. 이를 통해 HTTP Request & Response 에 대한 이해를 높인다. 뿐만 아니라, 라라벨을 이용한 CRUD, Event, File/Image Upload, 인증과 권한부여 등에 대해 배워볼 예정이다. 왼쪽 메뉴에서 31~43강에 해당한다.
3. RESTful API
Forum 에서 생성된 게시글/댓글을 JSON API 로 외부에 노출하여, 외부 앱들이 Forum 서비스와 상호 작용할 수 있도록 해 본다. 실험을 위해 프론트엔드 프레임웍을 이용한 간단한 모바일 앱도 만들어 볼 것이다. 왼쪽 메뉴에서 44~54강에 해당한다.
번외. 기타 알면 좋은 내용들
좌측 메뉴에서 Homestead 설치 (on Mac), Homestead 설치 (on Windows), 코드 배포 등에 해당한다.
이 강좌를 보는 방법
강좌들은 Markdown 문법으로 작성되어 있으므로 Github에서 보는 것이 좋다. 이미 PHP 언어와 라라벨을 좀 아는 분이라면, 강좌를 눈으로 읽고 머리로 이해하는 것도 도움이 된다. 강좌의 내용과 더불어, Github Commit 로그 를 이용해서 이전 강좌 대비 달라진 부분들을 보는 것도 좋은 방법이다.
그런데 필자는 이미 만들어진 소스코드를 눈으로 읽는 것 보다, 한 문장, 한 단락씩 따라하면서 실제 실습해 볼 것을 적극 권장한다. 강좌의 단계별 소스코드는 Git Tag 로 저장되어 있다. 먼저 이 프로젝트를 클론하고, 원하는 강좌로 체크아웃하자.
$ git clone git@github.com:appkr/l5essential.git myProject
$ cd myProject
$ composer install # composer가 설치되어 있지 않다면 2강을 참조해서 설치하자.
$ git checkout 03(tab & enter)
참고
학생들과 만나보면, 콘솔을 쓸 줄 모르는 분들이 많다. 문서에 나온 코드 블럭 중에서 $
(윈도우즈의 경우
\>
) 로 시작하는 명령들은 콘솔에서 실행하라는 의미이다. 가령, $ ls -al
이라 써 있으면, 콘솔에서 ls -al (enter)
를 하라는 의미이다. 콘솔 명령 블럭에서 # ...
은 주석이다.
Contributors / Sponsors
기여 가이드 를 따라 주세요.
- 오탈자/오류 신고 - dosirak 님, 이현석 님, ibin79 , AidenJeon 님, smartyunhui 님, 찬스냅 님, 김종운 님, richellin 님, jicjjang 님, jongguheo 님, desty 님, 백창현 님
- 감수 - 이종웅 님
- Pull Request 를 통한 기여자 분들
- 정광섭님 - 라이브 데모 서버
- JetBrains에서 phpStorm IDE를 지원해 주셨습니다.
"모두 모두 감사합니다."