![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 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 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
1. Używaj tylko angielskich nazw
2. Formatuj ładnie kod (IMG:style_emoticons/default/smile.gif) (https://www.php-fig.org/psr/psr-2/) 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: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1. Poczytaj o PSR
2. Koduj po angielsku (IMG:style_emoticons/default/smile.gif) Nie wazne, ze teraz robisz to tylko dla siebie, jak wejdzie Ci w nawyk, to nie bedziesz sie musial przestawiac. 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 (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 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 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 31.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje za pomoc, temat do zamknięcia (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czemu do zamkniecia ?(IMG:style_emoticons/default/smile.gif) Wprowadz poprawki, wrzuc nowa wersje i jedziemy dalej (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 22 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 240 Pomógł: 278 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 (IMG:style_emoticons/default/smile.gif) Ten post edytował markuz 18.02.2018, 23:26:16 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 22 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 (IMG:style_emoticons/default/smile.gif) Czeka mnie jeszcze dużo pracy, no cóż trzeba ćwiczyć.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 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" (IMG:style_emoticons/default/nerdsmiley.png) )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: 148 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.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:47 |