Парадигма ORM Kohana 3.x и концепция MVC

Одна вещь, которую я обнаружил в Kohana 3.x, касалась ORM и MVC. На самом деле далеко в разделе ORM я могу прочитать базовые примеры в контроллере. Когда вызовы баз данных выполняются, изменяются и сохраняются непосредственно в базе данных... Это не оценивает концепцию MVC.

class Controller_User extends Controller {
    function action_register() {
    $user = ORM::factory('User')
    ->values($this->input->post())
    ->save();
    }
}

Они могли бы сделать это в своей документации

class Model_user extends ORM {
function register($array) {
return ORM::factory('User')->values($array)->save();
}
}

И просто вызовите Model::register($array) из контроллера.

Я думаю, что лучшая практика заключается в полезности MVC. Любое предложение ?


person DeathCoder    schedule 27.02.2014    source источник
comment
Я всегда помещаю в Модель функции, которые, как я знаю, буду использовать более одного раза, а вещи, которые будут происходить только в одном месте (например, регистрация пользователя), в другом. Кроме того, как насчет этой штуки, специально предназначенной для аутентификации пользователей? kohanaframework.org/3.3/guide-api/Model_Auth_User#create_user   -  person AmazingDreams    schedule 27.02.2014
comment
Ну.. да, Kohana не реализует MVC (или что-то хоть отдаленно напоминающее шаблон MVC). Это намного ближе к шаблону, подобному Rails. Вы можете найти эту лекцию хорошей отправной точкой для перехода к MVC.   -  person tereško    schedule 27.02.2014
comment
Да, @tereško, думать о MVC бесполезно, работая над Kohana, это бесполезно. Они даже проверяют отправку валидации в моделях, а не в контроллере. Я думаю, что я сосредоточусь на документации, чтобы двигаться вперед. Спасибо   -  person DeathCoder    schedule 27.02.2014


Ответы (1)


Документация Kohana часто показывает самый быстрый способ получить результаты, но не обязательно лучший.

Передовая практика — это то, что вы должны выяснить сами, читая форумы и блоги. Представление одного человека о наилучшей практике может не совпадать с другим.

Лично я согласен с вами, и у меня тонкие контроллеры, и я делаю всю тяжелую работу в модели, но я уверен, что многие люди скажут мне, что я все делаю неправильно ;-)

person MrP    schedule 27.02.2014
comment
Я пытаюсь сосредоточиться на том, чтобы делать все в контроллере и проверять форму в модели. Это сохраняет мой код очень чистым, и следующий разработчик в той же работе также может хорошо подойти позже. Спасибо за ваш вклад. - person DeathCoder; 27.02.2014