CodeIgniter를 CI라고 부르겠다.
예제에서는 ooo2.org을 사용할 것인데, 이것은 실습을 위해서 임시로 만든 것이다. 접속하지 말자.
기본 사용법
만약 아래와 같은 페이지로 접근했을 때 페이지를 출력하기 위한 방법에 대해서 알아보자.
- http://ooo2.org/index.php/topic : '토픽 메인 페이지' 출력
- http://ooo2.org/index.php/topic/get/1 : '토픽 1' 출력
Controller 생성
Controller가 무엇인지는 지금은 몰라도 된다. MVC 수업을 통해서 자세히 알게 되기 때문에 그대로 따라하자. 지금 주목할 것은 콘트롤러의 이름에 의해서 URL이 결정된다는 점이고, 콘트롤러를 통해서 웹페이지를 화면에 출력 할 수 있다는 점이다. (CI에서 URL 규칙 참고)
http://ooo2.org/index.php/topic
파일 내용은 아래와 같다. 만약 index.php 뒤에 topic이라는 경로를 사용하고 싶다면 controllers 디렉토리 밑에 topic.php라는 이름의 파일을 생성해야 한다. 그리고 이 파일은 CI_Controller이라는 클래스를 상속한 Topic라는 이름을 가지고 있어야 한다. 그리고 index라는 이름의 메소드를 구현하면 CI는 이 메소드를 호출한다. 이것은 약속이다.
http://ooo2.org/index.php/topic/get
만약 topic 뒤에 get이라는 경로를 추가하고 싶다면 get이라는 이름의 메소드를 구현해야 한다.
http://ooo2.org/index.php/topic/get/1
get 뒤에 1이라는 숫자에 따라 다른 페이지를 보여주고 싶다면 메소드 get이 인자를 받으면 된다.
예제
{CodeIgniter 설치 디렉토리}/application/controllers/topic.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Topic extends CI_Controller { function index(){ echo ' <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body> 토픽 메인 페이지 </body> </html> '; } function get($id){ echo ' <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body> 토픽 '.$id.' </body> </html> '; } } ?>
URL의 중간에 index.php가 포함되어 있는 것이 거슬릴 것이다. 이것은 다소 고급 주제이기 때문에 여기서는 다루지 않는다. 이것을 처리하는 방법은 CI 한국 사용자 포럼의 글을 참고하자. (바로가기)
Tag
태그명 : Controller
태그 주소 : https://github.com/egoing/codeigniter_codeingeverbody/tree/Controller