본문 바로가기

BE/Web

[웹][php] MVC(모델,뷰,컨트롤러)

MVC란, 모델 - 뷰 - 컨트롤러의 약자이다. 

 

현재 많은 프레임워크들이 MVC모델을 사용한다. 

 

MVC자체는 비즈니스 로직과 사용자 뷰 영역을 분리하기 위한 소프트웨어 디자인 패턴이다. 

 

이 패턴을 사용하면, 비즈니스 로직과 사용자 뷰 영역이 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. 

 

 

모델은, 데이터를 전달하며 , 데이터를 컨트롤러나 뷰에 전달한다. (백그라운드) 

 

라라벨 프레임워크에서 artisan 을 통해 모델을 만드는 명령어는 다음과 같다.

 

1
php artisan make:model Test
cs

 

 

컨트롤러는 데이터와 뷰 사이의 상호동작을 관리하는데, 모델에 명령을 전달하여 데이터의 상태를 변경하거나, 뷰에 명령을 전달한다.

 

라라벨 프레임워크에서 artisan 을 통해 컨트롤러를 만드는 명령어는 다음과 같다.

 

1
php artisan make:controller TestController
cs

 

 

는 사용자 인터페이스를 나타낸다. (프론트엔드) 

 

 

사용자가 요청, 응답을 받기까지의 MVC 모델을 통한 전체 과정은 다음과 같다. 

 

1) 사용자가 요청을 보낸다. 

 

2) 컨트롤러는 모델을 호출

 

3) 모델이 컨트롤러가 호출한 명령에 해당하는 데이터(결과)를 반환 

 

4) 컨트롤러가 뷰에 데이터를 전달 

 

5) 뷰는 모델을 참조해 사용자에게 응답 전달 

 

 

[MVC 구조도]