Wpis z mikrobloga

#php #naukaprogramowania
Robię CRUD PHP w modelu MVC gdzie mam umieścić formularz który będzie dodawał nowe dane do bazy danych i gdzie będzie ten kod który dodaje dane do bazy danych? W view? czy w model?
tak wygląda mój crud
lukgol - #php #naukaprogramowania
Robię CRUD PHP w modelu MVC gdzie mam umieścić form...

źródło: image

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lukgol: Formularz nie dodaje danych do bazy danych. Polecam oprócz CRUD nauczyć się też CQRS - będzie znacznie łatwiej pisać porzadny kod.

Zapis i odczyt masz w modelu, wyświetlanie w view.
  • Odpowiedz
  • 0
Formularz nie dodaje danych do bazy danych. Polecam oprócz CRUD nauczyć się też CQRS - będzie znacznie łatwiej pisać porzadny kod.


@mariecziek: tylko że CQRS to jest obiektówka a ja dopiero się uczę i obiektów nie ruszam bo za mało wiem. jak to zrobić bez obiektówki?
  • Odpowiedz
@lukgol: Trudne pytanie, bo teraz wszystko jest robione obiektowo, a takie rzeczy bez obiektów, to robiłem z 10 lat temu.

Nie wiem na ile ci pomogę, ale postaram się wytłumaczyć ideę jak poprawnie powinno to działać. Musisz podzielić kod w taki sposób by każda z warstw MVC robiła jedno zadanie. Tak więc proponuję ci takie rozwiązanie:
1. Umieść formularz w widoku (View) - daj tam zwykły HTML, dodaj pola z name, które
  • Odpowiedz
  • 0
a później weszło Symfony i wszystko się zmieniło.


@mariecziek: ale co zmieniło? bo laravel korzysta z MVC a z czego korzysta symfony?

problem jest taki że wszystko nie działa przez przekierowania require bo docker wymaga "require "model/create.model.php"" a jak już robię formularz to wymaga mi "require "../create.model.php";"
  • Odpowiedz
@lukgol: panie teraz to zazwyczaj nie ma view. No chyba, że ktoś sobie wydziela viewmodel
php -> symfony (czasem laravel jak ktoś lubi nietypowane modele; ja nie) to tylko backend/API
a na froncie masz jakiegoś reacta/vue/angulara
Wynika to z tego, że często zarówno backend jak i frontend to kilka aplikacji. Frontend to zazwyczaj apka webowa i na telefon a backend to API które składa się z 1 lub wielu projektów.
  • Odpowiedz
@lukgol: Laravel korzysta Symfony, a Symfony korzysta z PHP ( ͡° ͜ʖ ͡°)
Mało miałem do czynienia z Laravelem, więc ci niespecjalnie doradzę co i jak. Z mojego doświaczenia wynika, że samo MVC to za mało w tych czasach, musisz posiadać dodatkowe miejsce na operacje, które są wykonywane pomiędzy otrzymaniem requestu a zapisaniem/odczytaniem danych z bazy danych.

Co ma wspólnego docker z require, bo
  • Odpowiedz
bo laravel korzysta z MVC a z czego korzysta symfony?


@lukgol: laravel nie "korzysta" z MVC, on w teorii "zaleca" robienie na nim MVC. Nikt nie broni Ciebie omijać część elementów.
  • Odpowiedz