私は、Webサイトを構築するときに、いくつかのかなり簡単な問題を解決することによって、OOPスキルを向上させ始めました。それで、ログインシステムから始めました。YouTubeのチュートリアルに従って、ログインクラスを作成しましたが、それが進むにつれて、多くの疑問が生じました(ところで、コードは100行なので、貼り付けます。 )。
したがって、このLoginクラスには検証メソッドなどがありますが、セッション検証が行われるようになります。これは、構成内のパラメーターの前に指定されているため、使用できません(少なくともこのクラススコープでは)。
$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'];
したがって、その場合、セッション変数が設定されていないときは、verifySession()メソッドを使用できません(たとえば、ログに記録されたユーザーがメインページに表示する内容を区別するため)。
だから私の質問は-その設計は正しいですか、そしてログインシステムの残りの部分をどのように構築する必要がありますか:すべてのページでloggedIn検証とログアウト-それらのそれぞれが別々のクラスにあるべきですか(そしてメソッドについてはどうですか、特定のクラスで繰り返されます、私は常にそれらを継承する必要があります)。OOPにはさまざまなアプローチがあることを認識していますが、初心者として従う必要のある特定のアプローチがあります(これは、OOPを最大限に理解するのに役立ちます)。