![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam, jestem początkujący w programowaniu obiektowym, wcześniej pisałem w strukturalnym. Chciałbym aby ktoś bardziej profesjonalny ocenił kod logowania w OOP napisany przeze Mnie. Opinie innych są dla mnie bardzo ważna. Nie korzystam z żadnego wzorca projektowego, po prostu chce przepisać kod strukturalny na obiektowy aby lepiej go zrozumieć.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 272 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
1. Używaj tylko angielskich nazw
2. Formatuj ładnie kod ![]() 3. Nie twórz klas które są "aliasami" innych klas - klasa database nic nie wnosi. 4. Nie twórz klas w konstruktorach tylko je "wstrzykuj" - czytaj o DI (to wzorzec, w OOP jest dużo wzorców bez nich OOP nie ma sensu na dłuższą mete). 5. Używaj PHP 7.2 (silne typowanie itp.) 6. Używaj phpunit/phpspec - naucz się pisać testy 7. Używaj namespace`ów i composera (https://www.php-fig.org/psr/psr-4/) Ten post edytował markuz 18.02.2018, 19:38:11 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 890 Pomógł: 269 Dołączył: 19.06.2015 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
1. Poczytaj o PSR
2. Koduj po angielsku ![]() 3. Nazwa klasy 'database' nie bardzo mi sie podoba. Raczej bym tutaj wstawil cos w stylu DatabaseConnection 4. Dane do polaczenia warto by bylo wyciagnac poza klase - zeby mozna jej bylo uzywac w wielu projektach / polaczeniach bez potrzeby zmian. 5. Zmienne do zapytan sie binduje, poczytaj o SQL Injection To tak na szybko ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 33 821 Pomógł: 5559 Dołączył: 27.12.2004 ![]() |
Pozwol ze przeniose. Twoj problem z OOP nie ma zadnego zwiazku nachwile obecna
Cytat Ustawienie Kodowanie Zapytanie Nie Udało się A Co To Jest? Na Polskim Nie Uczyli Cie Jak SIe Pisze Zdania? Poczytaj o DI. Klasa UserAuthorizer nie ma prawa tworzyc wewnatrz siebie obiektu bazy danych -------------------- Najlepsze kawałki programistyczne || Dowcipy o informatykach || Forum PHP dla opornych Klasy: Pager (stronicowanie) | Cache | ShoutBox (Chat) | Widok | Ładne url'e "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje za pomoc, temat do zamknięcia
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 890 Pomógł: 269 Dołączył: 19.06.2015 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Czemu do zamkniecia ?
![]() ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował mateuszstr1994 18.02.2018, 22:59:11 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 272 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
1. Używaj tylko angielskich nazw (wyjątki dalej po PL)
2. Formatuj ładnie kod smile.gif (https://www.php-fig.org/psr/psr-2/) (nadal brak formatowania) 3. Nie twórz klas które są "aliasami" innych klas - klasa database nic nie wnosi. (nadal klasa DatabaseConnection nie robi za dużo, wystarczy użyć wbudowanego np. PDO i ta klasa nie jest potrzebna) 4. Nie twórz klas w konstruktorach tylko je "wstrzykuj" - czytaj o DI (to wzorzec, w OOP jest dużo wzorców bez nich OOP nie ma sensu na dłuższą mete). (Jeszcze brakuje wstrzyknięcia niektórych zależności w DatabaseConnection) 5. Używaj PHP 7.2 (silne typowanie itp.) (brak typowania nadal) 6. Używaj phpunit/phpspec - naucz się pisać testy (brak testów) 7. Używaj namespace`ów i composera (https://www.php-fig.org/psr/psr-4/) (brak namespace) Tyle ode mnie ![]() Ten post edytował markuz 18.02.2018, 23:26:16 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje za odpowiedź, jak na pierwszy dzień z OOP to chyba nie jest tak źle
![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 550 Pomógł: 183 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
To czemu nie database_connection? Camel case wszędzie. Albo o to:
Cytat Don't sacrifice clarity for brevity (specjalnie bez literówki, ja zawsze wstawiam "brewity" ![]() Oczywiście to tylko przykłady (bo całość jest do zaorania). Nie ucz się sam na jakiś totalnie abstrakcyjnych przykładach, bo nauczysz się tylko złych nawyków a w dodatku nie jest to traktowane jako doświadczenie/staż pracy. Lepiej dołącz do jakiegoś zespołu programistów. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 143 Pomógł: 14 Dołączył: 23.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze by było jakbyś zaczął od napisania do chcesz osiągnąć, do czego to ma służyć, jakie są założenia.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.04.2018 - 22:06 |