Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 오라클 초기 셋팅
- id 체크
- [Eclipse] 이클립스 마켓플레이스 (Marketplace) 사용방법
- scanner 연습문제
- 코드 정리
- CMD
- Oracle
- js
- 자바
- 웹에 데이터를 전송하는 방법
- php
- 자바스크립트
- 이클립스 프로젝트 변경
- Nexacro
- oracle datatype
- github
- strtotime()
- 이클립스 서버연동
- DDL
- php 날자 함수
- 이클립스
- ER 마스터 사용법
- PLSQL 설치
- 자동 배포
- 코드이그나이터
- 개발 일기
- 톰캣 9.0 설치
- 기초 HTML
- 실행파일만들기
- 코드 처리 시간
Archives
- Today
- Total
Chillax in dev
[PHP] 코드이그나이터 _remap 메소드의 역할 본문
728x90
코드이그나이터 _remap 메소드의 역할
_remap 메소드는 CodeIgniter 프레임워크에서 사용되는 특별한 메소드로, 모든 컨트롤러 메소드 호출을 가로채어 특정 로직을 실행할 수 있도록 합니다. 이 메소드를 사용하면 요청된 메소드가 존재하지 않더라도 커스텀 로직을 적용할 수 있습니다.
_remap 메소드의 역할
- 모든 요청 가로채기: _remap 메소드는 컨트롤러에서 호출된 모든 메소드를 가로채어 처리할 수 있습니다. 즉, 사용자가 컨트롤러의 어떤 메소드를 호출하든 _remap 메소드가 먼저 실행됩니다.
- 커스텀 로직 적용: _remap 메소드는 호출된 메소드 이름과 매개변수를 인수로 받아, 이를 기반으로 커스텀 로직을 적용할 수 있습니다.
_remap 메소드의 구조
public function _remap($method, $input = null) {
// 호출된 메소드명: $method
// 전달된 매개변수: $input
// 예: 특정 메소드에 대해 다른 메소드를 호출
if ($method === '특정메소드명') {
$this->특정메소드($input);
} else {
// 기본 처리 로직
$this->기본메소드($method, $input);
}
}
예시 코드
아래는 _remap 메소드를 사용하여 호출된 메소드에 따라 다른 로직을 적용하는 예시입니다.
class Category extends CI_Controller {
public function _remap($method, $input = null) {
// 알리 모델을 불러옴
$this->load->model("test");
// Input Data Checking POST Method
$data = file_get_contents('php://input');
$data = $this->lib->decode_json($data);
// 호출된 메소드에 따라 다른 메소드를 호출
switch ($method) {
case "info":
$this->getCategory($data);
break;
default:
$this->auth->getResponseJSONError(404, "요청한 메소드가 존재하지 않습니다.");
break;
}
}
public function getCategory($data) {
// 이곳에 getCategory 메소드의 내용을 작성하세요.
}
}
예시 설명
- _remap 메소드는 $method와 $input을 인수로 받습니다.
- $method: 호출된 메소드명입니다.
- $input: 전달된 매개변수입니다.
- switch 문을 사용하여 호출된 메소드명에 따라 다른 메소드를 호출합니다.
- info 메소드가 호출되면 getCategory 메소드를 실행합니다.
- 그 외의 메소드가 호출되면 404 에러를 반환합니다.
요약
- _remap 메소드는 CodeIgniter의 특별한 메소드로, 모든 컨트롤러 메소드 호출을 가로채어 커스텀 로직을 적용할 수 있습니다. 즉 $method에 따라 원하는 기능을 하나의 컨트롤러로 실행 가능합니다.
- 호출된 메소드명과 매개변수를 인수로 받아 처리할 수 있습니다.
- 이를 통해 유연한 메소드 호출 로직을 구현할 수 있습니다.
이렇게 _remap 메소드를 사용하면 특정 메소드가 존재하지 않더라도 원하는 로직을 적용하여 처리할 수 있습니다.
728x90
LIST
'PHP' 카테고리의 다른 글
[PHP] 함수 vs 메소드 의 차이? (0) | 2024.06.21 |
---|---|
[PHP] 코드이그나이터에서 특정 IP만 코드 적용시키기 (0) | 2024.06.11 |
[PHP] defined('BASEPATH') OR exit('NO direct script access allowed'); (0) | 2024.06.11 |
Comments