
2021년 9월 1일에 작성된 문서 1번 입니다.
데이터 베이스 배운 내용을 정리했습니다.

위의 그림을 토대로 작성됨.
| 기능 이름 | 특징 |
|---|---|
| Model | 데이터의 정보를 갖고 있다. |
| 데이터베이스와 연결되어 데이터를 갖고 올 수 있다. | |
| 데이터베이스와 연관이 있는 부분. | |
| Controller | 모델 스스로의 값이나 데이터베이스에서 가져온 값과 연관이 있다. |
| 컨트롤러가 모델에게 물어보거나 모델이 컨트롤러에게 데이터를 반환한다. | |
| 모델에서 받은 데이터를 가공을 걸쳐서 뷰에게 전달한다. | |
| View | 사용자가 보는 화면을 보여주게 하는 역할 |
| 뷰에서 일어나는 액션을 컨트롤러에 전달한다. | |
| 컨트롤러와 직접적인 연관이 있다. 모델이나 데이터베이스 접근은 없다. |

http://yourapp.com/users/profile/1
//여기로 get request 보냈다고 가정
/routes
//라우터에 걸리면
users/profile/:id = Users.getProfile(id)
//Users라는 컨트롤러의 getProfile이란 함수를 실행.
/controllers
class Users{//Users가 클래스 이름.
function getProfile(id){//getProfile 함수
profile = this.UserModel.getProfile(id)
//UserModel에 있는 getProfile을 부른다.
renderView('users/profile', profile)
//그 부른 값을 뷰로 보내준다.
}
}
/models
Class UserModel{//UserModel이라는 클래스가 존재.
function getProfile(id){//getProfile 함수
data = this.db.get
('SELECT * FROM users WHERE id = id')
//실제 데이터 베이스에 접근해 쿼리문대로 id값을 받아 데이터로
//가져온다.
return data
//그 데이터를 반환한다. 컨트롤러의 프로파일이 리턴된
//데이터를 받아 올 수 있다.
}
}
/views
//받은 데이터를 이용해서 시각적으로 그려주는 역할.
/users
/profile
<h1>{{profile.name}}</h1>
<ul>
<h1>Email : {{profile.email}}</h1>
<h1>Phone : {{profile.phone}}</h1>
</ul>
Written with StackEdit.