기본 콘텐츠로 건너뛰기

[PHP] Codeigniter (코드이그나이터) Controller

[PHP] Codeigniter (코드이그나이터) Controller

Codeigniter 즉 CI 는 MVC 디자인패턴을 가지고 있습니다.

MVC 디자인 패턴은

M : Model V : View C : Controller

이렇게 각 단어의 앞글자를 따서 이름을 부르고 있습니다.

각각의 역활은 차 후 포스팅에서 설명해드리도록 하겠습니다.

먼저 오늘은 CI 의 Controller를 정리할려고 합니다.

지금 당장은 Controller가 무엇을 하는지는 모르셔도 됩니다.

추후 MVC 패턴을 공부할 때 더 자세히 알수 있을거 같습니다.

다만 지금 이 글에서는 Controller의 이름을 통해 사이트의 URL(주소)이 결정되는 모습을 보실 껍니다.

(즉 컨트롤러와 URL 주소의 맵핑이 되는 과정입니다.)

그리고 URL의 주소를 통해서 화면에 출력되는 내용을 볼 수 있습니다.

저는 CI를 제 서버에 Study란 폴더에 넣었습니다.

http://192.168.219.134/Study/index.php/test

위 처럼 index.php 뒤에 test란 경로를 사용하고 싶다면

Controller 디렉토리 밑에 test.php 라는 파일을 생성해줍니다.

Controller의 기본 형식은 controller 디렉토리에 있는 welcome.php를 열어서 복사하면 됩니다.

여기서 주의할 점은 클래스 명은 대문자로 시작해야 한다는 것입니다.

위와 같이 저장하고 http://192.168.219.134/Study/index.php/test 로 접속을 하게 되면

다음과 같이 나오게 됩니다.

http://192.168.219.134/Study/index.php/test/some

만약 test뒤에 some이라는 경로를 추가해주고 싶으면 some라는 메소드를 구현해주시면 됩니다.

http://192.168.219.134/Study/index.php/test/little/1

little뒤에 1이라는 숫자에 따라 다른 페이지를 보여주고 싶으면 메소드 some이 인자를 받으시면 됩니다.

http://192.168.219.134/Study/index.php/test/ Param /1/2/3

param이라는 뒤에 인자를 더 추가 해주고 싶으시면 위와 같이 하시면 됩니다.

위 예제를 적용한 소스코드입니다.

결과 화면입니다.

간단하게 CI의 Controller 가 어떻게 작동하는지 확인해보았습니다.

이 외에도 다양한 기능들이 존재 합니다.

코드이그나이터 매뉴얼에서 Controller 를 검색해 확인해 보시기 바랍니다.

※참고자료

Opentutorial - 생활코딩 Controller 편 : http://opentutorials.org/module/327/3829 Codeigniter Manual : http://codeigniter-kr.org/user_guide_2.1.0/general/controllers.html

index.php를 제거하기 : http://www.codeigniter-kr.org/lecture/view/213/page/1

#제 블로그 보다 Opentutoril의 생활코딩에 올라온 자료가 더 좋습니다. 공부하면서 정리하는 내용입니다.

-

- PHP, 코드이그나이터, codeigniter, 프레임워크, PHP 프레임워크

-

from http://yoshikixdrum.tistory.com/160 by ccl(A)

댓글

이 블로그의 인기 게시물

[PHP] 코드이그니터 - 파일업로드 구현

[PHP] 코드이그니터 - 파일업로드 구현 파일 업로드 이번에 PHP 프레임워크인 코드 이그니터(Codeigniter)를 사용하여 홈페이지를 만드는데 사용한 이미지 업로드용 코드 입니다. upload 라이브러리를 사용하고 app~ 와 같은 위치에 upload 폴더를 만드고 다음 코드를 사용한다음 ajax 로 호출하여 파일을 업로드 합니다. function index() { // Upload 설정 $config['upload_path'] = './upload/'; $config[\'allowed_types\'] = 'gif|jpg|png'; $config['max_size'] = 100; // 100k $config['max_width'] = 1024; $config['max_height'] = 768; $this->load->library('upload', $config); $data = array(); if (! $this->upload->do_upload("service_image")) { $error = array('error' => $this->upload->display_errors()); } else { //$data = array('upload_data' => $this->upload->data()); $this->output->set_output("./upload/".$this->upload->data('file_name')); } } jquery 를 이용한 파일 업로드 호출 코드 function upload() { var datas, xhr; datas = new FormData(); datas.append( 'service_image', $( ...

2017년 1월 스타트업에서 구인할때 주로 원하는 개발 기술

2017년 1월 스타트업에서 구인할때 주로 원하는 개발 기술 php mysql linux android git kotlin gcm/fcm python mssql mongodb amazon aws ios objective-c swift github python c++ django python postgresql amazon aws html5/css3/javascript android java mysql python c++ c# java aws cloud-server dbms node.js postgresql redis nginx react.js hapi.js amazon aws restful-api angularJS jQuery html5/css3/javascript android firebase custom ui component restful-api asp.net c# html css javascript bootstrap angularjs node.js php mongodb redis 프론트엔드 주요 기술 javascript jquery ajax angularjs wbesocket html5/css3/javascript android ios java xcode node.js coffeescript mysql amazon ec2 amazon es3 android ios node.js php python java ios php mysql apache python android redis node.js jquery msa node.js java restful-api linux nosql golang redis nginx ...

이클립스 코드이그나이터 연동 ( eclipse codeigniter )

이클립스 코드이그나이터 연동 ( eclipse codeigniter ) https://ellislab.com/codeigniter/user-guide/installation/downloads.html 위의 사이트에서 코드이그나이터를 다운 받는다. 다운받은 압축 파일을 풀어 준다. 이클립스에서 php 프로젝트를 생성한 공간에 코드이그나이터 압축파일을 복사 붙여넣기 해준다. 위와 같은 화면이 나오면 정상적으로 연동이 된 것 입니다. from http://nahosung.tistory.com/22 by ccl(A) rewrite - 2020-03-06 16:20:55