我不明白这一点:他们说,这是好事,做一个“基本控制器”实例化数据库和会话:

// 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的,我做我的模特我所有的数据库工作。您只需做抢在模型数据库对象

$this->db

也是一样的许多其他对象,例如$this->uri。我的MVC模式的实施意味着所有我的数据库的工作是在我的模型,我不知道这是否是做的最好的方式,但它为我工作。

至于会话,你总是可以使用静态方法来获取一个单像

$mySession = Session::instance();

我敢肯定所有/大部分的佣工/库要使用他们以类似的方式 - 从$开始他们本或使用静态方法

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top