2

我不明白:他们说,最好创建一个实例化数据库和会话的“基本控制器”:

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

所以我会像任何其他控制器一样创建一个控制器类,然后让我所有其他“真实”控制器从这个控制器继承,以便它们具有数据库连接和用户会话?

4

1 回答 1

2

在 Kohana,我在模型中完成所有数据库工作。您只需执行以下操作即可获取模型中的 DB 对象

$this->db

许多其他对象也是如此,例如$this->uri. 我对 MVC 模式的实现意味着我所有的数据库工作都在我的模型中,我不确定这是否是最好的方法,但它对我有用。

至于会话,你总是可以使用静态方法来获得像这样的单例

$mySession = Session::instance();

我很确定所有/大多数助手/库都有类似的使用方式——从 $this 启动它们或使用静态方法。

于 2009-06-09T11:03:54.020 回答