Codeigniter 기본 사항을 익혔지만 멈췄습니다. 그래서 다시 재평가해라.codeigniter에서 페이지를로드하기위한 스위치 케이스 사용
나는 이것을하는 더 진보 된 방법이 있다는 것을 알고 있지만, 내가 이해할 수있는 방법을하고 싶습니다. 나는 단지 혼란 스러울 고급 자료들을 물고 싶지 않습니다. 붙여 넣기 스 니펫을 온라인으로 복사하는 것은 매우 쉽지만 내 코드에서 모든 것을 이해하고자합니다.
어쨌든, 항상 if 문을 PHP, idk로 다시 사용했습니다. 왜 코드 케이스에 적절한 가이드 라인을 찾지 않았는데, 스위치 케이스가 가장 익숙한 if 문을 사용하고있는 경우가 있습니다.
그래서 내 프로젝트에서 내 링크는 이런 식으로 만들어졌습니다.
<a href="<?php echo base_url();?>pages/view/home">Homepage</a>
그리고 내 컨트롤러에서
, 내가로드 할 페이지를 알 수 있도록 URI 세그먼트를 꺼내 내보기 방법을 설정했습니다.$data = array('page' => $this->uri->segment(3,home));
switch ($data['page']){
case 'home';
$data['tile'] = "Homepage";
$data['page'] = "userhome";
break;
case 'login';
$data['tile'] = "Login";
$data['page'] = "userlogin";
break
}
$this->load->view('templates/header',$data);
$this->load->view('templates/navbar');
$this->load->view('pages/'.$data['page']);
$this->load->view('templates/footer');
하지만 작동하지 않습니다. 제목과 페이지는 변경되지 않습니다.
else 문을 사용하면 쉽게이 작업을 수행 할 수 있습니다. 경우 전환 어디 선가 읽은
$temp = $this->uri->segment(3,'home');
if($temp == "home"){
$data = array('title' => 'Homepage' , 'page' => 'home');
$this->load->view('template/header',$data);
$this->load->view('template/navbar');
$this->load->view('pages/'.$data['page']);
$this->load->view('template/footer');
}else if($temp == "login"){
$data = array('title' => 'Login' , 'page' => 'userlogin');
$this->load->view('template/header',$data);
$this->load->view('template/navbar');
$this->load->view('pages/'.$data['page']);
$this->load->view('template/footer');
}
가 다른 경우보다 빠른, 난 그냥 지금까지 다른 페이지 병이 미래에 할 로그인 및 홈페이지하지만로드됩니다를 만들어 필자에게 처음 2 페이지를 보여주는거야 같은 방식으로 코드가 길어집니다. 그래서 내가 스위치 케이스를 사용하는 데 관심이있었습니다.
이것은data['title']
대신에, 당신은
switch
문, 당신은
data['tile']
에 값을 할당하고있는 잘못 입력을 가지고 있기 때문에 그것이 될 수
$temp = $this->uri->segment(3,'home');
switch ($temp){
case 'home':
$data = array('title' => "Homepager" , 'page' => "home");
$this->load->view('template/header',$data);
$this->load->view('template/navbar');
$this->load->view('pages/'.$data['page']);
$this->load->view('template/footer');
break;
case 'login':
$data = array('title' => "Login" , 'page' => "userlogin");
$this->load->view('template/header',$data);
$this->load->view('template/navbar');
$this->load->view('pages/'.$data['page']);
$this->load->view('template/footer');
break;
}
/스위치를 사용하는 것이 가장 좋은 방법이라고 생각하지 않습니다. CodeIgniter는 자체 라우터를 가지고 있으며이를 사용하여 페이지별로 1 개의 기능을 작성합니다. 그리고 문제가 있으면,'$ data [ 'page']'변수에 값이 좋은지를보기 위해서'var_dump '하십시오. –