![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 14.10.2019 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Zaczynam naukę OOP i w napisałem skrypt który umożliwia rejestracje/logowanie/zwrot/wypożyczenie książek. Mam świadomość istnienia SOLID oraz PSR - czytałem o PSR 1 / 2 i staram się przestrzegać. Nie znam MVC ani testów np. PHPUnit - to będą kolejne kroki w nauce. Czy taki skrypt można określić obiektowym, czy jest to jakaś hybryda? Zanim pójdę dalej jw chciałbym nauczyć się dobrych nawyków i w prawidłowy sposób posługiwać się OOP. Skrypt nie wszedł na forum, umieściłem na githubie Link do GitHub Moje dodatkowe pytania: 1. Tworzenie obiektu Database w konstruktorze innych klas, czy jest to prawidłowe? 2. Metoda checkCredentials klasy log - czy nie narusza zasady pojedynczej odpowiedzialności? Czy nie powinna np. wyszukiwać użytkownika,a następnie inna metoda powinna weryfikować dane? Dzięki za wszystkie uwagi i poświęcony czas (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jest zdecydowanie lepiej.
echo View::renderTemplate('mysite/borrow.html', ['books' => Library::getBooks()]); echo raczej jest tu zbedne Jestes bardzo nie konsekwenty i tworzysz cala mase klas, ktore w polowie sobie obiektami a w polowie maja metody statyczne. Ok, czasami metoda statyczna moze i sie przydac, ale tutaj u ciebie w wiekszosci wypadkow jest to zle zaprojekotwane Uzywaj === oraz !== Okreslaj wszedzie typy a nie tylko w polowie plikow Zainteresuj sie narzedziami do statycznej analizy kodu, np phpstan. Odwala za ciebei polowe roboty. if ($code = '500') { Ty w ogole testujesz kod, ktory piszesz? Juz nie mowie nawet o phpunit ale o zwyklym manualnym tescie... Staraj sie optymalizowac swoj kod, np private function getNamespace(): string { $namespace = "App\Controllers\\"; return $namespace; } mozna poprostu napisac private function getNamespace(): string { return "App\Controllers\\"; } Nie ma sensu tworzyc zbednych zmiennych niczego nie wnoszacych
Powiedzmy ze ja tez pracuje z twoim kodem. jednak moja baza ma inny dostep. Jak ja to zmienie teraz u siebie? Przeciez wlasnie nadpisze twoje pliki z git. I zmiluj sie i nie komituj zawartosci folderu VENDOR |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 14:17 |