728x90


CodeIgniter에서 웹을 출력하는 방식은 MVC패턴에 기인한다.

즉 view를 컨트롤러에 등록시키고 routes에서 경로를 정해서 라우트 시키는 방식이다.

이 방식을 일연의 과정으로 한번 표현하면 아래와 같다.


1.View 파일의 제작


View파일을 php로 제작하게 된다.

<?php //test_view.php ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<b>Hello Kukaro!</b>
</body>
</html>

내가 보여주고자 하는 파일을 만드는데 그 양식은 전형적인 php파일 양식을 따른다.



이 파일은 위치시켜야할 경로는 아래와 같다. application/views의 하위에 위치 시킨다.


2.Controller 파일의  제작

<?php //Test.php

class Test extends CI_Controller {

public function index()
{
$this->load->view('test_view');
}
}

Controller파일을 위와같이 제작한다.

Controller는 Class형태의 php파일로 제작하며 이는 CI_Controller를 상속하여야한다.

그리고 위와같이 index메소드안에서 $this->load->view();메소드안에 아까 만든 파일의 이름을 (.php)만 빼고 호출한다.



이 파일을 application->controllers파일 아래에 위치시킨다.

여기서 controllers에 만들어놓은 파일을 바로 url 경로로 접근할 수 있다.

우리가 만든 Test클래스를 바로 호출하는게 가능하다는것.

한번 호출하여 보자.



보면 호출에 성공한걸 알 수 있다.

다만 만약 url을 따로 매핑을 하고싶다면 아래의 방법을 사용해주어야한다.


3.routes.php 설정하기


application->config->routes.php안에 아래의 코드를 추가한다.

$route['hi'] = 'test';

여기서 route 괄호 안의 문자열은 자신이 원하는거 아무거나 선언하면 된다.

오른 쪽의 문자열은 자신이 연결하고자 하는 파일을 선언해준다.

아까 만든 Test.php를 연결하자.

이 때 왼쪽에는 모두 소문자로 적어도 무방하다. 그 이유는 대소문자를 가리지 않기 때문이다.


이제 실행을 해보자.

주소창에 아래와 같이 쳐보자.


http://localhost/CI/index.php/hi



제대로 출력되는걸 알 수 있다.

여기서 우리는 test클래스를 hi에 매핑했으나 test로도 접근이 가능하다.

+ Recent posts