Cześć.

Tak się zdążyło, że zacząłem swoją przygodę z programowaniem, ogarnąłem trochę php'a, js'a, mysqla itp. potem zacząłem z frameworkami i do gustu przypadł mi LARAVEL i jego nowość LIVEWIRE i chciałem zabrać się za tworzenie czegoś małego z nowym zasobem wiedzy.

Chodzi o stworzenie prostej strony - (header, content, footer) która ma 3 podstrony - o nas, opinie, kontakt, na stronie głównej w polu content będą pobierane dane do tabeli o użytkowniku i inne informacje zawarte w modelu, strona będzie posiadać system autoryzacji (jetstream) dla użytkownika i admina (użytkownik będzie miał możliwość dodania informacji z poziomu swojego dashboard'a do tabeli, a admin z poziomu swojego dashboarda będzie mógł to edytować lub usunąć - CRUD)

Pytania:

  • jak rozdzielić elementy strony - np. header, content, footer - php artisan make:component (z tego co wiem chyba tworzy dodatkowy plik z modelem klasy)czy na sztywno zrobić w katalogu views np. partials i umieścić je za pomocą @include w głównym pliku aplikacji?
  • jak to się ma do tego gdy mam polecenie make:livewire i tworzy za jednym zamachem class i view? Czy w tym przypadku lepiej rozszerzyć widok np. header z pomocą @extend i w kalasie dawać kolejne rzeczy, np. wyświetlanie menu czy w przypadku tabeli widok tabeli i pobieranie danych do tej tabeli?
  • co w przypadku logiki? ponoć całą logikę lepiej umieścić już w pliku z klasą dla danego komponentu niż tworzyć np. osobny za pomocą make:model?
  • co w tym przypadku z controllerami? nadal je tworzyć czy odwoływać się tylko do pliku z klasą?
  • podstrony w przypadku livewire - również stworzyć za pomocą make:livewire czy zrobić na sztywno katalog np. z widokiem danej podstrony (pages/contact.blade.php) i odwołać się w routingu?

Na pewno dużo przekombinowałem i źle wytłumaczyłem, ale chcę to logicznie rozplanować żeby nie robić 10 razy tego samego projektu, będzie miło jakby ktoś mi to wytłumaczył łopatologicznie, będę wdzięczny.

Pozdrawiam użytkowników i małżonkę.