그래서 내가 컨트롤러라는 페이지가 있다고 가정 해 봅시다.보기를로드하는 더 나은 방법 Codeigniter3
이 기능이 있습니다.
function __construct(){
parent::__construct();
$this->auth['result'] = $this->is_logged_in();
}
위의 코드는, is_logged_in()
라는 기능이 단순히 세션 데이터를 가져옵니다 확장 기능 'MY_Controller'을 요구한다.
내 첫 번째 질문은이 인증을 올바르게 수행하는 것입니까? 또는 나는 그것을 단순히 사용하고 있습니까?
어쨌든 내 주요 질문은보기로드에 관한 것입니다.
많은보기가 있다고 말하면 일부보기는 TYPE B 사용자의 액세스 수준과 다른 액세스 수준을 가진 TYPE 사용자 만 액세스합니다.
온라인 쇼핑몰을 광고하기 위해 등록한 사용자 및 상점 주인이있는 온라인 웹 사이트와 같이 두 계정이 다르게 생성된다고 가정 해 봅시다. 하나의 계정은 사용자 (일반/여행자)이고 하나의 계정은 hotelowner (호텔 irl 소유)입니다. 그래서 둘 다 겹쳐진 견해와 그들을위한 헌신적 인 견해를 가질 것입니다.
보기를로드 할 때 어떻게해야합니까? 내가 기능을 가지고 내 컨트롤러에
말,
public function view_home(){
}
public function view_userprofile(){
}
public function vieW_hotelprofile(){
}
당신은 위에서 내 생각을, 내가 다른보기를로드하기위한 별도의 기능을 가지고 있습니다. 하지만 제 질문은, 어떻게 그것을 하나의 큰 기능으로 만드 느냐하는 것입니다. 예를 들어 같은
,public function view($page ='home'){
}
뷰 함수는 뷰를 액세스하는 다른 계정 단말기 같을 것이다.
access_levels를 확인하지 않아도된다면 더 간단 할 것입니다. 내 첫 번째 아이디어는 예를 들어 매우 긴 문장을 작성하는 것입니다.
if($this->auth['result'] = 1){
load view here.
}
이것은 허용할만한가요? 또한, 어떻게 효율적으로 처리 할 수 있을까요? 그리고 인증에 관해서는,이 부분은 내가 옳은 방법으로 사용하는지 아닌지 정말 혼란 스럽습니다.
또한 매우 긴 if 문을 수행하면 어떤 값을 확인할 수 있습니까? 내가 당신이 특정보기에 대한 액세스 수준을 확인 해야하는지 알고 있지만 또한 로그인 사용자 이름을 확인하고 그것의 accesslevel 동일하면 데이터베이스에 일치합니까?
를 사용하여 시도 할 수 있습니다? 스위치가 여러 조건과 그에 따른 많은 결과가있을 때 더 적합합니까? –
[http://stackoverflow.com/questions/680656/what-is-the-difference-between-if-else-and-switch] –