Mam tutaj funkcję w kontrolerze, która odpowiada za dodawanie kategorii:
public function add(){ Access::logged(); $view = new \Ubermade\view\CategoryView(); $view->renderHTML('add', 'front/category/'); }else{ $model = new \Ubermade\model\CategoryModel(); $utilities = new \Ubermade\utilities\CategoryUtilities(); $items = $utilities->add($_POST['name'], $model->getByName($_POST['name'])); if($items){ $model->add($_POST); RouterUtilities::redirect(RouterUtilities::generateUrl('category/list')); }else{ $view->renderHTML('add', 'front/category/'); } } }
W swoim projekcie zastosowałem pewnego rodzaju "pomocników", którzy zajmują się przetwarzaniem, oraz uwierzytelnianiem podanych informacji. W tym przypadku odnoszę się do klasy "CategoryUtilities" do funkcji"add", która wygląda następująco:
public function add($name, $database){ $check = true; if($database){ $check = false; Session::set('e_category_repeat', true); } $check = false; Session::set('e_category_length', true); } iF($check){ return true; }else{ return false; } }
I tutaj się rodzi pytanie... Czy używanie takich "pomocników" jest zgodny ze wzorcem MVC, czy jednak taki kod powinno się pakować gdzie indziej, np modelu.
Jeżeli chodzi o nazwę "items" w kontrolerze, mimo, że może mieć ona jedynie wartość 1, to czasami, np: w dodawaniu użytkownika, mój "pomocnik" hashuje hasło, zwraca je do kontrolera, który później przesyła je modelu i do bazy danych.
Z góry dziękuję za pomoc
