![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 2 Dołączył: 13.07.2015 Ostrzeżenie: (0%) ![]() ![]() |
Czesc,
Pisze (dla praktyki) system wypozyczania ksiazek. Narazie skonczylem system rejestracji uzytkownikow. Jest to pierwszy projekt w OOP jaki robie wiec napewno sa bledy. Prosba o sprwadzenie formy i wskazowki jak i co polepszyc . Tak towyglada w plikach: projekt/config/config.php projekt/config/database.php projekt/class/user.class.php projekt/class/userException.class.php projekt/controller/register.control.php projekt/register.php A tu kod: config/config.php
class/user.class.php
class/exception.class.php
controller/register.control.php
view/register.php
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niepotrzebnie nazywasz pliki ...class.php. Tak się robiło kilka lat temu. Poczytaj o PSR-4 + autoloader np. composera.
Stosuj modyfikator widoczności dla metod. Klasa User to raczej jakiś service w tym wypadku. Jeśli rozdzielisz to do encji będziesz mógł łatwo wymieniać dane z tablicy POST do obiektu. Stosuj rzutownie typów np. public function __construct(\PDO $db) Walidacja jest w kilku miejscach. Dlaczego hasło ma takie restrykcje? Wrzucaj je do password_hash/validate. Zdecyduj się na jednolite nazewnictwo bo jest raz name a później Surname. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wszystkie throw, new, header małymi literami, tak samo jak true, false.
Zadbaj o odpowiednie formatowanie, nwm jakiego edytora używasz ale przeważnie jest tak że zaznaczasz wszystko i alt + i (ctrl+alt+i). Nie zapominaj o hermetyzacji, pola nie powinny być publiczne. Jak popracujesz nad formatowaniem to nie będziesz potrzebował komentarzy końca metod itp ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 2 Dołączył: 13.07.2015 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Dzieki.
Poczytalem i dochodze do wniosku, ze... jeszcze raz to napisze. Klasa - db - Singleton Klasa action dla db - z delete, select itp. I walidacja w jednym miejscu Az takich restrykcji nie ma na haslo, bylo wieksze ale zmienilem na cos przyzwoitego. W switchu jest opis starego regex-u. Pozmienialem widocznosc:
Co do edytora - Aptana - moze komus sie przyda w przyszlosci - (ctrl+shift+F). Niestety, reszte musze poprawic dopiero jutro. Bede update-owac. Ten post edytował JakubBab 1.02.2016, 16:48:42 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
pomyśl nad depedency injection, zamiast antywzorca Singleton
![]() undescore w nazwie raczej zbędne ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 96 Pomógł: 2 Dołączył: 13.07.2015 Ostrzeżenie: (0%) ![]() ![]() |
pomyśl nad depedency injection, zamiast antywzorca Singleton ![]() undescore w nazwie raczej zbędne ![]() Czytam o DI i patrze na moj kod - czy przypadkiem nie ma tam dependency injection? class db - odziellnie class user
no i register.class
Widze, ze zle jest to rozlozone plikowo. Pisze od nowa. Sek jest w tym, czy jest to DI jesli nie, jak to ugryzc? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ja nie powiedziałem że nie masz, powiedziałem żeby Singleton zastąpić DI
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 15:19 |