2009-06-09 31 views
2

我不明白這一點:他們說,這是好事,做一個「基本控制器」實例化數據庫和會話:Kohana中的數據庫和會話設置如何?

// 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`); 

所以,我只想做一個控制器類像任何其它控制器,以及那麼就讓我所有其他的「真實」控制器繼承它,這樣他們就有了數據庫連接和用戶會話?

回答

2

在Kohana中,我在我的模型中完成了所有的db工作。您只需通過做

$this->db 

同去的許多其他物體,例如$this->uri搶在模型數據庫對象。我的MVC模式實現意味着我所有的數據庫工作都在我的模型中,我不確定這是否是最好的方法,但它對我有用。

至於會話,你總是可以使用靜態方法來獲取一個單像

$mySession = Session::instance(); 

我敢肯定所有/大部分的傭工/庫要使用他們以類似的方式 - 他們開始從$ this或使用靜態方法。

相關問題