1. 2014.11.08 Session 3-3 XECon + PHPFest 2014
Laravel 프레임워크로
10분안에 블로그 만들어 보기
@findstar 안정수
Facebook Modern PHP Group
2. 2014.11.08 Session 3-3 XECon + PHPFest 2014
1. 발표 소개
2. Laravel 프레임워크란?
3. Laravel 의 이슈 원인
4. Laravel 의 주요 핵심
5. 10분 블로그 코딩
6. 마치며
부제 : Laravel 소개
+
10분 블로그 라이브 코딩
3. 2014.11.08 Session 3-3 XECon + PHPFest 2014
1. 발표 소개
- 발표자
- 계기
- 프레임워크
2. Laravel 프레임워크란?
3. Laravel 의 이슈 원인
4. Laravel 의 주요 기능
5. 10분 블로그 코딩
6. 마치며
4. 2014.11.08 Session 3-3 XECon + PHPFest 2014
Introduce
4
안정수
육아에 시달리고 있는 딸바보 개발자
PHP, JAVA, Objective-C
최근까지 전세계 날씨 분석 시스템을 만들었
습니다.
@findstar
5. 2014.11.08 Session 3-3 XECon + PHPFest 2014
I need a framework
5
1. 최신의 웹 개발 트렌드를 잘 녹여낸 프레임워크
2. 장기적으로 전망있는
3. 최신 PHP 버전에서 사용 가능한
7. 2014.11.08 Session 3-3 XECon + PHPFest 2014
1. 발표 소개
2. Laravel 프레임워크란?
- Laravel
- 목적
- 인기도
3. Laravel 의 이슈 원인
4. Laravel 의 주요 기능
5. 10분 블로그 코딩
6. 마치며
8. 2014.11.08 Session 3-3 XECon + PHPFest 2014
Laravel
• 2011~ now version 4.2
• Free, open-source
• MVC framework
• MIT License.
• Full-stack framework
• laravel.com
8
Taylor Otwell
11. XECon + PHPFest 2014
11
Popularity
Github 가장 인기 있는 PHP 프로젝트
since August 2014
12,913
Most popular and watched Project
2014.11.08 Session 3-3
#2
12. XECon + PHPFest 2014
12
Popularity
구글 트렌드 (from 2004 to current)
구글 트렌드 링크
2014.11.08 Session 3-3
#3
13. 2014.11.08 Session 3-3 XECon + PHPFest 2014
1. 발표 소개
2. Laravel 프레임워크란?
3. Laravel 이슈 원인
- Modern
- Full stack
- Easy to learn
4. Laravel 의 주요 기능
5. 10분 블로그 코딩
6. 마치며
14. 2014.11.08 Session 3-3 XECon + PHPFest 2014
#0 Modern PHP
2013 9월 PHP 5.5 Web summit
• OOP - Design Pattern
• MVC
• Composer
• Autoloading
• PSR
• Testable
14
2014 NOMAD PHP EU
Ben Ramsey
PHP contributor
27. IoC Container
XECon + PHPFest 2014
27
2014.11.08 Session 3-3
Inversion Of Control
클래스 의존성을 관리하는 강력한 도구
DI - 의존성 삽입(Dependency injection)을 통해서
하드코딩된 클래스간 의존성을 제거하는 하나의 방법
대신에 클래스의 의존성은 런타임시에 삽입되어
강력한 유연성을 제공하게 되고, 이로 인해
의존성 구현이 쉽게 변경될 수 있게 됨을 이야기 합니다.
28. 2014.11.08 Session 3-3 XECon + PHPFest 2014
Artisan CLI
• Laravel 에서 제공하는 Command Line
Interface
• 주요 코드 generation, cache,
queue 컨트롤등의 역활을 수행
28
29. 2014.11.08 Session 3-3
SImple MVC Code
XECon + PHPFest 2014
29
# in app/route.php
Route::get('user/{id}', 'UserController@showProfile');
# in app/controllers/UserController.php
class UserController extends BaseController {
public function showProfile()
{
$user = User::find($id);
return View::make('user.profile', array('user' => $user));
}
}
# use app/views/user/profile.blade.php
30. 2014.11.08 Session 3-3 XECon + PHPFest 2014
1. 발표 소개
2. Laravel 프레임워크란?
3. Laravel 이슈 원인
4. Laravel 의 주요 기능
5. 10분 블로그 코딩
- Install
- Routing
- Controller
- Model
- View
6. 마치며
36. 2014.11.08 Session 3-3 XECon + PHPFest 2014
Installation #2
• app/storage 폴더의 권한 변경
$ chmod -R 777 app/storage
• app/config 설정
database 연결 설정 app/config/database.php
• debug 설정
개발을 용이하게 하기 위해서 debug 설정 app/config/app.php
36
37. 2014.11.08 Session 3-3 XECon + PHPFest 2014
Installation #3
• scaffolding 을 위한 composer 추가
• faker seeding 을 위한 faker 추가
composer.json 에서 require-dev 추가
“require-dev” : {
“way/generators”: “~2.0”
,"fzaninotto/faker": "1.4.0"
},
• composer udpate —dev -vvv
composer.json 수정후 설치
• service provider 추가
app/config/app.php ‘WayGeneratorsGeneratorsServiceProvider', 추가
37
38. 2014.11.08 Session 3-3 XECon + PHPFest 2014
Installation #3
• composer udpate —dev -vvv
composer.json 수정후 설치
• service provider 추가
app/config/app.php
#service provider
‘WayGeneratorsGeneratorsServiceProvider', 추가
38
43. 2014.11.08 Session 3-3 XECon + PHPFest 2014
PostsController
# in app/controllers/PostsController.php
class PostsController extends BaseController {
public function index() {} // /posts GET
public function create() {} // /posts/create GET
public function store() {} // /posts POST
public function show($postId){} // /posts/{postId} GET
public function edit($postId){} // /posts/{postId}/edit GET
public function update($postId){} // /posts/{postId} PUT|PATCH
public function destroy($postId){} // /posts/{postId} DELETE
}
43
44. 2014.11.08 Session 3-3 XECon + PHPFest 2014
Models
# in app/models/Post.php
44
class Post extends Eloquent {
protected $guarded = ['id'];
}
47. 2014.11.08 Session 3-3 XECon + PHPFest 2014
제약
1. 국내의 다수 호스팅에서는 안되요.
PHP 5.4 이상부터 사용 가능
2. 한글 자료가 많이 없어요
-> 시간이 약.
3. 국내에서 사례가 있나요?
-> 아직 뚜렷한 레퍼런스는 없습니다.
4. 느리지 않나요?
-> 코드 이그나이터 보다 느립니다. phalcon 보다는.. 엄청 느립니다.
-> 대신 개발 생산성을 이야기 합니다.
47