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
Ubermade
post 4.09.2018, 17:15:12
Post #2





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

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


jest to jedynie napisany na szybko przykład wink.gif Bardzo często zwracam wartości takie jak zahashowane hasło itp wink.gif Ale sam fakt, taka pierdoła poprawiłaby kod wink.gif

Cytat(athabus @ 3.09.2018, 22:08:33 ) *
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.

Cóż, ogarniam takie rzeczy, jak git i composer, ale co do reszty to tylko słyszałem o nich biggrin.gif
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: 15.05.2024 - 05:48