MVC를 이해하고 CI 프레임 워크를 배우려고합니다. MVC 및 CI에 대한 몇 가지 기본적인 질문에 대해 몇 가지 질문이 있습니다.PHP, MVC 및 Codeigniter 이해하기
1)보기는 내가 튜토리얼에서 읽은 것처럼 응용 프로그램의 시각적 인 부분입니다. 제 질문은 : 예 "로그인"버튼이 있지만 이미 사용자가 로그인 한 버튼이 "로그 아웃"입니다. 로그인 확인은 어디에서합니까? 컨트롤러 또는보기에서? 난 그냥 내가 그들이 상상 코드입니다, 그들은 일을 늘 알고 예로 theese 코드를 쓰기
//this is view//
<?php if($_SESSION('logged') == true):?>
<a href="logout">Logout</a>
<?php else: ?>
<a href="login">login</a>
<?php endif; ?>
또는
//this is controller//
if($_SESSION('logged') == true)
$buttonVal = 'logout';
else
$buttonVal = 'login';
//and we pass these value to view like
$this->view->load('header',$someData);
//this time view is like
<a href="<?=$somedata['buttonVal']?>"><?=$somedata['buttonVal']?></a>
을 의미하지만, 난 당신이 무슨 뜻인지있어 같아요. 로그인 확인은 컨트롤러 또는보기에 있어야합니까?
2) 모델에 데이터에 대한 코드 만 포함하고 컨트롤러로 반환해야합니까? 예를 들어 수학이 있다면 데이터베이스에서 2 개의 값을 얻고 곱해서 표시합니다. 모델이 증식 할 것인가 아니면 컨트롤러가 그것을 할 것인가? 여기
우리는 모델 데이터를로드 및 컨트롤러에 수학을 수행 // 모델
$db->query(....);
$vars=$db->fetchAll();
return $vars;
//controller
$multi = $vars[0] * $vars[1];
$this-load->view('bla.php',$mutli);
여기에 우리가 모델 데이터를로드 너무 모델에 수학을
, 컨트롤러는 단지보기로 모델 데이터를 전달합니다
//model
$db->query(....);
$vars=$db->fetchAll();
$multi = $vars[0] * $vars[1];
return $multi;
//controller
$multi = $this->model->multiply();
$this-load->view('bla.php',$mutli);
나는 모델이 데이터베이스 작업 만하고 컨트롤러로 데이터를 전달해야하며 컨트롤러는 나머지 작업을 수행하고 렌더링보기를 보냅니다. 또는 모델이 작동하고 컨트롤러가이 모델을 가져 와서 보도록 보냅니다.
3)이 CodeIgniter의에 관한 것입니다, 내가 모든 페이지에 있어야하는 헤더를 가지고 있지만, CSS를 내가이 모든 페이지에있을 것입니다
<?php foreach ($styles as $style): ?>
<link id="stil" href="<?= base_url() ?>/css/<?= $style ?>.css" rel="stylesheet" type="text/css" />
<?php endforeach; ?>
을 사용하고 페이지에 따라 자바 스크립트를 가지고, 그래서 모든 컨트롤러에서 나는 내가 그것을이 쓰기, 메인 컨트롤러를 만들기 위해 생각하고, 그리고 컨트롤러이 연장됩니다 내 모든 사람, 내가 CI 위키,이 MY_Controller 동일 MY_Controller 것을 볼
$data['styles'] = array('css1','css2');
$this->load->view('header', $headers);
이 내가하고있는 것? 이 작업을 수행 할 수있는 다른 방법이 있습니까?
영어 및 거짓 질문에 불편을 끼쳐 드려 죄송합니다. 답변 주셔서 감사합니다.
CodeIgniter를 사용하고 있으므로 나중에 MVC에 대한 오해를 모두 잊어 버릴 것이므로 MVC를 이해해야합니다. 이제는 효과가있는 것을하십시오. – Gordon
이것을보십시오 : [MVC의 상세한 개요] (http://www.onextrapixel.com/2012/03/14/a-detailed-overview-of-the-model-view-controller-mvc-coding-structure/)) –
@ Gordon이 오해가 무엇인지 자세히 설명해 주시겠습니까? – Repox