Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


Szado
Napisane: 4.07.2021, 14:49:23





Grupa: Zarejestrowani
Postów: 22
Dołączył: 30.05.2017

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

W dokumentacji przedstawiane są uproszczone przykłady zastosowania poszczególnych elementów frameworka, które mają demonstrować koncepty. W życiu codziennym, aplikacje często rozwiązują bardziej złożone problemy które wymagają napisania większej ilości kodu (tak jak w Twoim przypadku). Wtedy aby tworzyć zwięzły, czytelny i zrozumiały kod stosuje się zasady KISS, DRY, SOLID (Google) które narzucają m.in. logiczne wydzielanie jego fragmentów odpowiadających za pojedyncze procesy (np. zamykając je w odseparowanych od siebie serwisach).

Jeśli nie znasz jeszcze tych zasad/nie są one dla Ciebie intuicyjne, sugeruję zastosowanie bardzo prostej zasady która "na oko" powie Ci, czy powinieneś rozważyć refactoring: jeśli kod Twojej funkcji/metody nie mieści się w całości na ekranie (tj. musisz ją przewijać) to znaczy, że należy ją podzielić na kilka metod w ramach klasy lub sprawdzić, czy przypadkiem sama w sobie nie wykonuje zbyt wielu czynności - wtedy można opakować je w oddzielne klasy (serwisy), a w metodzie macierzystej użyć ich wywołań.

Na przykładzie metody kontrolera loadDataToBase() z przesłanego przez Ciebie projektu, można wydzielić:
  • czyszczenie tabel do oddzielnego serwisu,
  • pobieranie danych z API i ich parsowanie do oddzielnego serwisu,
  • tworzenie modeli na podstawie wyników z API do oddzielnego serwisu lub chociażby jako metodę samych modeli (chociaż w przypadku laravelowego active recordu będzie tam bałagan i bez tego),
  • opcjonalnie - sam mechanizm regularnego uruchamiania akcji przerobić można na laravelowe zadanie (Job) i zlecić jego wykonywanie w Console\Kernel np. raz dziennie. Poczytaj w dokumentacji o zadaniach cyklicznych i kolejkach.
  Forum: Frameworki · Podgląd postu: #1256159 · Odpowiedzi: 15 · Wyświetleń: 4 894

Szado
Napisane: 27.06.2021, 10:31:45





Grupa: Zarejestrowani
Postów: 22
Dołączył: 30.05.2017

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

Możesz też spróbować liczyć różnice w wartościach left/top pobranych z el.getBoundingClientRect().
  Forum: Przedszkole · Podgląd postu: #1256108 · Odpowiedzi: 5 · Wyświetleń: 632

Szado
Napisane: 31.05.2017, 13:12:26





Grupa: Zarejestrowani
Postów: 22
Dołączył: 30.05.2017

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

Źle zatytuowałeś temat, bo z tego co piszesz to ma być to operacja w JS-ie i to bardzo podstawowa (getElementsByClassNames(), element.textContent).
  Forum: PHP · Podgląd postu: #1216792 · Odpowiedzi: 2 · Wyświetleń: 688

Szado
Napisane: 30.05.2017, 22:58:37





Grupa: Zarejestrowani
Postów: 22
Dołączył: 30.05.2017

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

Nie wiem z jakiego rozszerzenia bazodanowego korzystasz, ale jeśli z MYSQLi to:
  1. $val = $rezultat->fetch_row();
  2. $val = $val[0];
  Forum: Przedszkole · Podgląd postu: #1216762 · Odpowiedzi: 12 · Wyświetleń: 1 506


New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 05:23