Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][LARAVEL] Pytania o workflow/techniczne
Forum PHP.pl > Forum > Przedszkole
czakkk
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ę.
LowiczakPL
Jak rozdzielić elementy strony - np. header, content, footer ..

Dokładnie tak jak sugerujesz, ale to zależy od strony bo nieraz nie ma header tylko jest sidebar, ale tak dzielisz jak tylko jest to możliwe
czyli wspólne elementy separujesz do innych plików.

co w przypadku logiki? ponoć całą logikę lepiej umieścić już w pliku z klasą

Kontroler to klasa, serwis to klasa, model to klasa, i tak dalej Laravel to zbiór klas a mino to nie jest to 1 plik

Logiki nie umieszczasz w kontrolerze, ta sama zasada co z widokami, im więcej plików tym kod jest przyjazny programiście ale nie do przesady.

Logika w serwisach a kontroler to zarządca czyli przyjmuje request przekazuje do serwisu ten to obrabia i przekazuje z powrotem do kontrolera a ten wywołuje widok.

podstrony w przypadku livewire - również stworzyć za pomocą make:livewire ...

Na pewno należy robić podkatalogi podstron bo jak podstrona ma formularz form to się zduplkują pliki różnych podstron, a tak identycznie nazwany plik np. form.blade.php jest w różnych podkatalogach
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.