Zacząłem doskonalić swoje umiejętności w zakresie OOP, rozwiązując niektóre raczej łatwiejsze problemy podczas budowania strony internetowej. Zaczęło się od systemu logowania, poszedłem za tutorialem na youtube, który pomógł mi stworzyć klasę Login, ale jak to się działo, wzbudziło wiele wątpliwości (btw. Kod ma 100 linii, więc wkleję to wklejając).Projektowanie klasy obiektowego systemu logowania w php
Tak więc w tej klasie logowania istnieją metody weryfikacji itp., Ale dochodzi do punktu, w którym istnieje weryfikacja sesji, która z wcześniej podanymi parameterami nie może być użyta (co najmniej w zakresie tej klasy):
$this->_username = ($this->_login)? $this->filter($_POST['username']) : $_SESSION['username'];
$this->_password = ($this->_login)? $this->filter($_POST['password']) : '';
$this->_passmd5 = ($this->_login)? md5($this->_password) : $_SESSION['password'];
Tak więc w tym przypadku nie mogę użyć metody verifySession(), gdy nie ma zestawu zmiennych sesji (aby odróżnić to, co powinien zobaczyć zalogowany użytkownik na stronie głównej).
Moje pytanie brzmi - czy ten projekt jest poprawny i jak powinienem zbudować resztę systemu logowania: weryfikacja loggedIn na każdej stronie i wylogowanie - czy każdy z nich powinien być w osobnej klasie (a co z metodami, które powtórzyć w konkretnej klasie, czy powinienem je zawsze dziedziczyć). Zdaję sobie sprawę, że istnieją różne podejścia do OOP, ale czy jest jakiś szczególny, który powinienem podążać jako początkujący (który pomoże mi zrozumieć o tym najlepiej).
Nie bardzo rozumiem, o co tutaj pytasz (czy możesz to wyjaśnić?), Ale ogólnie: zazwyczaj dobrym pomysłem jest podążanie za oryginalnymi koncepcjami i modelami (rzeczywistymi) ze swoimi zajęciami. "Logowanie" nie jest rzeczą, ale sesją i użytkownikiem. – Niko
Poszukuję "wzoru" do zbudowania systemu logowania zorientowanego obiektowo (logowanie, wylogowywanie, korzystanie z niego, jeśli użytkownik jest zalogowany na każdej stronie) i nie jestem pewien, czy wszystkie te rzeczy powinny znajdować się w środku pojedyncza klasa – Malyo