Model (Модели)

Модель в парадигме MVC реализует доступ к данным и методы работы с ними. Модель напрямую связана только с контроллером и не содержит функций работы с представлениями.

Создание модели

Файлы моделей в Kohana располагаются в папке classes/model согласно файловой системе. Каждая модель должна удовлетворять следующим условиям:

  • Имя файла модели должно быть написано в нижнем регистре: classes/model/category.php
  • Каждое слово в названии класса модели, наоборот, должно быть с большой буквы: Model_Category.
  • При использовании поддиректорий, это должно отображаться на имени класса модели. Например, если файл называется classes/model/category/orm.php, то класс должен называться Model_Category_ORM.

Реализация модели в Kohana происходит через класс Model. Для создания собственной модели необходимо создать класс, унаследованный от него:

class Model_Category extends Model
{
	public function do_some() {}
}

Использование

После определения модели, ее создание доступно через конструкцию Model::factory($name), где $name — название модели:

$model = Model::factory('Category');

Также доступны конструкции:

Model::factory('Category')->do_some();

Конструкции вида $model = new Model_Category доступны, но использовать их не рекомендуется.

Модель с реализацией БД

Чтобы получить встроенную реализацию БД для модели, можно использовать класс Model_Database. При создании модели существует один опциональный параметр $db — название группы конфигураций БД, которая будет использована для модели:

$model = Model::factory('Category', 'alternate');

В теле модели доступ к БД осуществляется через $this->db:

public function do_some()
{
	$query = $this->db->select('*')->from('test');
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *