[PHP] Logowanie, zwrot/wypozyczenie ksiazek OOP - mocno początkujący |
[PHP] Logowanie, zwrot/wypozyczenie ksiazek OOP - mocno początkujący |
14.10.2019, 18:03:39
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 |
|
|
18.10.2019, 07:24:15
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Przykładowo ta nieszczęsna klasa database. W przypadku błędu łapiesz wyjątek i w zasadzie nic z tym nie robisz. Czyli w sytuacji gdy wystąpił błąd mogę zrobić coś takiego:
$this->connection w query jest nullem - php sypie błędem. Czemu każda klasa ma require 'vendor\autoload.php';? Formy nie powinny rozszerzać Database bo i po co? Co najwyżej jakieś AbstractForm w którym można wstrzykiwać Connection (przykład bo raczej głupie rozwiązanie). public function checkCredentials(array $data) :bool - credentials zazwyczaj będzie zawsze user, pass więc czemu nie public function checkCredentials(string $user, string $pass) :bool Brakuje jakiegoś może service który obsługiwałby użytkowników. Przykładowo UserService -> checkCredentials i wtedy sprawdzasz $this->userService->check... zamiast wykonywać zapytania w klasie Form. Smarty to niekoniecznie dobry pomysł. Raczej historycznie się go używa. Twig, Blade, PHPTAL, Volt. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 17:04 |