제목 | 컨트롤러(클래스) 관련 질문입니다. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 엘제이 | 작성시각 | 2020/05/20 23:39:37 |
|
|||
최근 유지보수 건 이 있는데요 3.0 버전이고요 그런데 해당 컨트롤러 클래스에 생성자(__construtor()) 가 존재하지 않더라고요 생성자는 필수가 아니었나 생각했는데 문제는 _remap 이라는 멤버메소드가 하나씩 존재하더라고요. 컨트롤러(혹은 클래스) 에 _remap 이라는 것이 PHP OOP 관련해서 검색이 되지 않던데요 코드이그나이터관련해서 검색되더라고요. CI를 좀 써왔지만 _remap 이라는 것은 요번에 처음 보는데 코드이그나이터에 무엇을 위해 필요한 것인지 그리고 해당 메소드가 해당 컨트롤러에서 생성자처럼 클래스(컨트롤러) 실행시 전처리를 하게끔 되어 있는건가요? 코드이그나이터만의 특수함수인지요?
|
|||
다음글 | ajax set_select 유지 질문드립니다!! (4) | ||
이전글 | AWS SES 메일 발송 개선 및 email queue... (3) | ||
벤지
/
2020/05/21 00:04:10 /
추천
0
|
한대승(불의회상)
/
2020/05/21 08:50:27 /
추천
0
_construct()는 필수는 아닙니다. _remap() 메소드는 코드이그나이터에서 사용되는 특수 메소드입니다. 메뉴얼에 언급된대로 내부적으로 라우팅 규칙을 바꿀때 사용합니다. 작업하신분이 생성자 개념으로 사용하신듯 하네요. |
예에....메뉴얼을 보니 ci 에 정의된 함수입니다 .
무슨 이유로 그렇게 구조를 잡았는지 궁금해지네요
** 메뉴얼 내용 **
만약 컨트롤러가 _remap()함수를 포함하고있다면,
URI가 어떻든 간에 _remap() 함수를 호출하게될것입니다.
왜냐하면 _remap()은 CI 가 정의해 놓은 일반루틴 대신
여러분 자신만의 라우팅방법으로 재정의 해버리기 때문입니다.
메뉴얼
http://www.ciboard.co.kr/user_guide/kr/general/controllers.html#passing-uri-segments-to-your-methods
https://codeigniter4.github.io/userguide/incoming/controllers.html#defining-a-default-controller