在构建网站时,我已经开始通过解决一些相当简单的问题来提高我的 OOP 技能。所以它从一个登录系统开始,我遵循了 youtube 上的一个教程,它帮助我制作了一个登录类,但随着它的继续,它提出了很多疑问(顺便说一句。代码是 100 行,所以我会继续粘贴它)。
因此,在这个 Login 类中,有验证方法等,但到了有会话验证的地步,在构造中给出了 before 参数,它不能被使用(至少在这个类范围内):
$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() 方法,当没有设置会话变量时(例如,区分登录用户应该在主页上看到的内容)。
所以我的问题是 - 设计是否正确,我应该如何构建登录系统的其余部分:在每个页面上登录验证并注销 - 他们每个人是否应该在单独的类中(以及在特定类中重复的方法呢? ,我应该总是继承它们)。我意识到 OOP 有不同的方法,但是作为初学者我应该遵循什么特别的方法(这将帮助我更好地理解 oop)。