앞서 View에 블레이드 템플릿과 Model 에서의 엘로퀀트 ORM 까지 설펴봐았습니다. 이제 모델에서 데이타를 조회/생성/수정/삭제를 할 수있도록 일반 컨트롤러 컨트롤러 작성 방법과 RESTful Controller 작성방법을 살펴보겠습니다.

 

지금 까지는 View 와 Model 부분을 살펴보았습니다. Controller 부분은 Router 부분과 연계되어 설정하는 부분이 많습니다.현재 라라벨 최신 버전이 5.6 임을 확인 할 수 있었습니다.앞에서 살펴본 구조와 라우터 부분이 변경되어 설명하고 컨트롤 부분을 설명하고자 합니다.

 

라라벨 5.x 프로젝트 구조

기존 5.x 초반까지의 구조와 현재의 구조는 app/ 과 routes/ 부분에서 좀더 구조화가 되고, 정리가 되었음을 확인할 수 있습니다.

 

일반적인 Controller

우선, 서버 부트업 한 후 웹 브라우저에서 http://myproject.test/index로 연결 시도 시 다음과 같은 화면을 확인 할 수 있을 것입니다.

위와 같은 메시지는 Index Controller가 아직 생성되지 않아 나타나는 Error 로 확인하시면 되고, 이를 처리 해 보도록 하겠습니다.

 

Controller 생성

  1. artisan CLI 로 컨틀로러를 생성해 줍니다.

실행 후 다음 app/Http/Controllers/IndexController.php 가 생성 되었음을 확인할 수 있습니다.

 

이제 View 와 Controller 를 만들어 Router 를 통해 화면을 정상적을 띄워 보도록 하겠습니다.

 

  1. 처음 생성된 IndexController.php 에 index()를 만들어 보도록 합니다.

 

  1. 컨틀로러에 어떠한 데이타 또는 어떠한 로직을 처리 한 후 리턴될 View 페이지를 블레이트 템플릿으로 완성하겠습니다./resources/views/ 경로에 index.blade.php 생성 후 다음과 같은 코드를 작성합니다.

 

  1. /routes/web.php에 HTTP 요청을 앞서 생성한 IndexController 에 index() 로 연결 해 보도록 하겠습니다.

 

  • 마지막으로 웹브라우저에서 해당 라우팅 된 주소로 다시 연결 시도하면 화면을 확인 할 수 있습니다.

 

 

 

PHP 라라벨 5 On Mac 포스팅

[PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들

[PHP 라라벨 5 On Mac] 2 : Composer, Valet, Framework

[PHP 라라벨 5 On Mac] 3 : Framework

[PHP 라라벨 5 On Mac] 4 : Routing

[PHP 라라벨 5 On Mac] 5 : 블레이드 템플릿 1 (View)

[PHP 라라벨 5 On Mac] 6 : 블레이드 템플릿 2 (View)

[PHP 라라벨 5 On Mac] 7 : 블레이드 템플릿 3 (View)

[PHP 라라벨 5 On Mac] 8 : 마이그레이션 (Create Table)

[PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정)

[PHP 라라벨 5 On Mac] 10 : 마이그레이션 (적용)

[PHP 라라벨 5 On Mac] 11 : 마이그레이션 (컬럼 수정)

[PHP 라라벨 5 On Mac] 12 : Laravel Tinker Shell

[PHP 라라벨 5 On Mac] 13 : Laravel Tinker Shell (쿼리 빌더)

[PHP 라라벨 5 On Mac] 14 : 엘로퀀트 ORM 1

[PHP 라라벨 5 On Mac] 15 : 엘로퀀트 ORM 2

[PHP 라라벨 5 On Mac] 16 : 엘로퀀트 ORM 3

[PHP 라라벨 5 On Mac] 17 : Controller I

[PHP 라라벨 5 On Mac] 18 : Controller II

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *