Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Poprawność MVC
Ubermade
post 3.09.2018, 18:42:02
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 30.11.2017
Skąd: Leszno, Poland

Ostrzeżenie: (0%)
-----


Witam! Napisałem ostatnio wzorzec MVC w php i mam pewną obawę, że ciut źle zacząłem go używać. Może pokażę na przykładzie.

Mam tutaj funkcję w kontrolerze, która odpowiada za dodawanie kategorii:

  1. public function add(){
  2. Access::logged();
  3. $view = new \Ubermade\view\CategoryView();
  4. if(empty($_POST)){
  5. $view->renderHTML('add', 'front/category/');
  6. }else{
  7. $model = new \Ubermade\model\CategoryModel();
  8. $utilities = new \Ubermade\utilities\CategoryUtilities();
  9. $items = $utilities->add($_POST['name'], $model->getByName($_POST['name']));
  10. if($items){
  11. $model->add($_POST);
  12. RouterUtilities::redirect(RouterUtilities::generateUrl('category/list'));
  13. }else{
  14. $view->renderHTML('add', 'front/category/');
  15. }
  16. }
  17. }


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:

  1. public function add($name, $database){
  2. $check = true;
  3.  
  4. if($database){
  5. $check = false;
  6. Session::set('e_category_repeat', true);
  7. }
  8. if(strlen($name) < 1){
  9. $check = false;
  10. Session::set('e_category_length', true);
  11. }
  12.  
  13. iF($check){
  14. return true;
  15. }else{
  16. return false;
  17. }
  18. }


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 smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
athabus
post 3.09.2018, 21:08:33
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ok to postaram sie jutro po pracy podeslac. Napisz mi tylkoczy ogarniasz takie rzeczy jak git, composer, doctrine, kontener di - bo mam wersje basic i taka bardziej oop po refactoringu z moim przelozonym. Wersja poczatkowa jest taka "poprawna ale prosta jak kij od szczotki", koncowa bardziej oop. Nawet ta poczatkowa mysle ze by Ci pozwolila troche poprawic kod, ale koncowa to juz calkiem fajny kod oop przynajmniej jak na moj obecny poziom, tyle ze juz bardziej zlozona.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.05.2024 - 11:50