제목 | _remap($method)를 사용할 경우 파라미터는 어떻게 받나요? | ||
---|---|---|---|
글쓴이 | 코드이구나 | 작성시각 | 2011/05/23 11:31:59 |
|
|||
또 질문올립니다.;;; _remap($method)를 사용할 경우 파라미터는 어떻게 받나요? public function _remap($method) { // top menu $this->load->view('siteadmin/top'); // left menu $this->load->view('siteadmin/product/left'); // main $this->$method(); // bottom $this->load->view('siteadmin/bottom'); } 이렇게 돼 있는 상태에서 public function read($pdt_id) { 이 메소드가 파라미터를 못받아 온다고 A PHP Error was encounteredSeverity: Warning Message: Missing argument 1 for Product::read(), called in /home/xxxxx/public_html/application/controllers/siteadmin/product.php on line 18 and defined Filename: siteadmin/product.php Line Number: 51 |
|||
태그 | route,_remap,파라미터 | ||
다음글 | 외부사이트에서 페이지에 접근하려고 하면 500 에러가 ... (1) | ||
이전글 | 오라클 DB 연동시 'OCI_COMMIT_ON_SUCC... (2) | ||
헛발이
/
2011/05/23 12:24:51 /
추천
0
|
코드이구나
/
2011/05/23 12:49:54 /
추천
0
아~ 그렇군요!! 정말 감사합니다^^;; 많은 정보 얻어갑니다~
|
코드이구나
/
2011/05/23 14:53:03 /
추천
0
매뉴얼 보다가 알게 된 사항이 있어서 추가해봅니닼
$this->uri->segment(); 를 이용해서 // main switch ($method) { // 읽기 case 'update_frm': $pdt_id = $this->uri->segment(4); $this->$method($pdt_id); break; default : $this->$method(); } 요렇게 처리했습니다. |
kirrie
/
2011/05/23 15:46:02 /
추천
0
function _remap($method)
{ if(method_exists($this, $method)) { $this->{$method}(); } else { $this->index(); } } 이렇게 하면 메소드 추가할때마다 수정할 필요가 없죠. (현재 인스턴스 가운데서 메소드가 있으면 그냥 실행하고, 없는 메소드를 호출하면 index를 호출합니다. 아니면 적절한 다른걸 실행해도 됨) |
코드이구나
/
2011/05/23 16:44:32 /
추천
0
kirrie님/ 위에 방식대로 하면 $pdt_id = $this->uri->segment(4); 이걸 쓰지 않아도
파라메터를 받아올 수 있는 건가요? +_+ |
$sgm = 현재 URL(URI)정보를 가져오는 함수를 만든다.
$method = $sgm에서 자기만의 URI룰로 원하는 메소드를 찾아오는 함수를 만든다
if ($method==='lists') {
$this->lists();
} elseif ($method==='register') {
$this->register();
} elseif ($method==='modify') {
$this->modify();
} else {
$this->index();
}
}
저같은 URI정보를 갖어 오는 함수나 메소르를 찾는 함수등을 포럼소스에 있던것을 사용하고 있습니다.
포럼에서 segment_explode 또는 url_explode 이런 검색어로 한번 검색해보세요..
자신만의 룰로 자신만의 함수를 만들어도 되긴 하지만 시간도 걸리고 검증도 안되고 해서
부끄럽지만 포럼소스를 배껴 쓰고 있답니다.. ^^;;
그런데 위의 소스를 보니 해더부분 메뉴부분 콘텐츠부분 푸터부분으로 되어 있는걸 보니
레이아웃을 만드는 모양이군요...
레이아웃이라면... Hook또는 위젯등으로 적용하는것도 좋은 방법이기도 합니다..
참고로 저는 hooks를 이용한 레이아웃을 사용하고 있습니다..