일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- hopfield network
- Google App Engine
- 가상화
- 하이퍼바이저
- Python
- 갤럭시탭S8울트라
- 삼성소프트웨어멤버십
- 빅데이터
- 나르왈프레오
- 삼성전자 소프트웨어멤버십 SSM
- 구글 앱 엔진
- BAM
- 멤버십
- 파이썬
- 패턴 인식
- 고려대학교
- 물걸레로봇청소기추천
- Friendship
- SSM
- 동아리
- 인공지능
- 삼성
- NarwalFreo
- Neural Network
- 신경회로망
- 패턴인식
- 물걸레자동세척로봇청소기
- 신경망
- 증강현실
- Bidirectional Associative Memory
- Today
- Total
정보공간_1
[4기 부산 김솔] Codeigniter 3 본문
안녕하세요. 부산 멤버십 22-1기 김솔입니다.
이번에는 PHP 기반의 프레임워크인 Codeigniter에 대한 세번째 글을 써보려 합니다.
<!--[if !supportLists]-->1. <!--[endif]-->Model
/application/models 가 Model 들이 모여있는 위치입니다. 앞서 작성한 글에서 언급했듯이 model 은 DB와 연동해서 사용하기 위한 클래스입니다. Model을 사용하기 위해 먼저
/application/models의 위치에 model 파일을 생성해줍니다. 소스 코드 내용은 아래와 같이 입력해주시면 되겠습니다.
위와 같은 형태의 코드가 가장 model의 가장 기본이 되는 코드가 되겠습니다. 위와 같은 형태에서 사용할 함수를 추가 작성하여 model을 만들면 됩니다. 간단하게 db table의 모든 정보를 가져오는 select문을 작성해보겠습니다.
위의 코드를 보시면 get_table_info() 라는 함수가 추가된 것을 볼 수 있습니다. select문을 추가한다고 하였지만, 늘 봐오던 query문이 아닙니다. Codeigniter에서는 액티브레코드라는 기능을 제공하고 있습니다. query문을 통해 db와 연동되는 것이 아니라 위와 같은 형태의 코드를 통해 db와 연동할 수 있습니다. 물론, 액티브레코드가 아닌 기존의 sql문을 작성하여 사용할 수도 있습니다.
이 액티브레코드에 대해 좀 더 설명을 드리면,
위의 두 함수의 코드형태가 다를 뿐 결과는 같은 코드라는 점입니다. 개발자의 스타일에 따라 다르겠지만, 편하신 방법으로 작성하시면 될 것 같습니다.
보다 자세한 설명은 사용자가이드를 참고하시면 됩니다.
그럼 이제, db에 임의의 테이블을 생성하고 값을 임의로 입력해보도록 하겠습니다.
이제 table에 값도 준비되었고 하니 model을 작성해보도록 하겠습니다.
그리고 Controller에서 Model과 연동시켜주어야 겠죠.
이렇게 작성하고, 브라우저에서 결과를 확인하면,
위와 같이 table에 입력했던 내용이 필드명과 함께 잘 출력되는 것을 볼 수 있습니다.
Model을 쓰기 위해 Controller에 load를 하고, model에 작성한 클래스로 접근해 쿼리 결과를 가져왔습니다. 이걸로 MVC에서 M과 C를 알아보았습니다. 이제 남은 V를 알아보겠습니다.
<!--[if !supportLists]-->2. <!--[endif]-->View
위 코드에서 Controller에서 바로 화면에 출력했던 부분을 View로 넘겨서 출력을 해보도록 하겠습니다.
/application/views/ 에 view가 있으니, 이 곳에 사용할 view를 생성합니다. 저는 이곳에 ssm.php 라는 view 파일을 생성하고 아래와 같이 코드를 작성했습니다.
이제 작성한 View를 Controller에서 불러보도록 하겠습니다.
Echo 를 통해 Controller에서 바로 화면에 출력하는 구문이 사라지고, 그 자리에 $this->load->view()라는 코드가 자리잡았습니다. 파라미터는 /application/views/ 를 기준으로 작성한 view 파일명입니다. 위에서 ssm.php라는 view 파일을 작성했으니 파라미터로 ssm이 들어갔습니다.
이제 브라우저에 확인을 해보면, 작성한 view의 내용이 보일겁니다.
이제 view 파일을 불러 브라우저에서 정상적으로 뜨는걸 확인 했으니, 이제 Controller의 데이터를 View에서 받아 써보도록 하겠습니다.
데이터를 넘기는 방법은 간단하게 $this->load->view() 함수의 두번째 파라미터로 값이 담긴 배열을 넘기면 됩니다.
그리고 View에서는 Controller에서 배열로 넘긴 값의 인덱스명을 이름으로 하는 변수에 값이 담겨 넘어오게 됩니다. 이 값을 용도에 맞게 출력되게끔 하시면 됩니다.
브라우저에서 확인을 해보면
위 그림과 같이 db의 내용이 정상적으로 출력되어지는 것을 볼 수 있습니다.
이와 같이 MVC패턴을 통해 model에서는 db 연동되는 부분만을 view에서는 화면에 출력되어지는 부분만을 Controller에서는 요청된 값을 처리하고 model의 값을 가공하여 view로 넘기는 역할역 하고 있습니다.
이런 MVC패턴을 통해 보다 아름다운 코드를 작성할 수 있습니다.
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 신촌 김형진] 자연어 처리와 형태소 분석의 기초 #1 (0) | 2013.10.28 |
---|---|
[4기 신촌 김형진] UDP Hole Punching 소개 (1) | 2013.10.28 |
[4기 부산 김솔] Codeigniter 2 (0) | 2013.10.28 |
[4기 부산 김솔] Codeigniter 1 (0) | 2013.10.28 |
[4기 강남 안태형] OpenFlow 소개 (0) | 2013.10.27 |