Kohana에서 데이터베이스 및 세션 설정은 어떻게 생겼습니까?

StackOverflow https://stackoverflow.com/questions/969252

  •  13-09-2019
  •  | 
  •  

문제

나는 이것을 얻지 못합니다 : 그들은 데이터베이스와 세션을 인스턴스화하는 "기본 컨트롤러"를 만드는 것이 좋습니다.

// Base Controller code
$this->db = Database::instance($db_group);
$this->session = Session::instance();
// Now in any controller which extends Base Controller
$var = $this->session->get('var');
$query = $this->db->query('SELECT * FROM `table`);

그래서 나는 다른 컨트롤러와 마찬가지로 컨트롤러 클래스를 만들고 다른 모든 "실제"컨트롤러 가이 컨트롤러에서 상속되어 데이터베이스 연결과 사용자 세션이 있도록해야합니까?

도움이 되었습니까?

해결책

Kohana에서는 모델에서 모든 DB 작업을 수행합니다. 당신은 단지 모델에서 DB 객체를 잡을 수 있습니다.

$this->db

예를 들어 다른 많은 개체에 대해서도 동일합니다. $this->uri. MVC 패턴을 구현한다는 것은 모든 DB 작업이 내 모델에 있음을 의미합니다. 이것이 가장 좋은 방법인지 확실하지 않지만 그것은 나에게 효과적입니다.

세션은 항상 정적 메소드를 사용하여 싱글 톤을 얻을 수 있습니다.

$mySession = Session::instance();

나는 모든/대부분의 도우미/라이브러리가 비슷한 방법을 사용하는 방법을 가지고 있다고 확신합니다. $에서 시작하거나 정적 메소드를 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top