Comencé a mejorar mis habilidades de OOP, resolviendo algunos problemas bastante más fáciles, al construir un sitio web. Empecé con un sistema de inicio de sesión, seguí un tutorial en youtube, me ayudó a crear una clase de inicio de sesión, pero a medida que avanzaba, surgieron muchas dudas (por cierto, el código es de 100 líneas, así que pasaré pegándolo).)Diseño de clase de sistema de inicio de sesión orientado a objetos en php
Entonces en esta clase de inicio de sesión, hay métodos de verificación, etc. pero llega a un punto donde hay verificación de sesión, que con dado antes de parameteres en constructo, no puede usarse (al menos en este alcance de clase):
$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'];
Así que en ese caso no puedo usar el método verifySession(), cuando no hay variables de sesión definido (a diferencia de lo iniciado sesión el usuario debe ver en la página principal, por ejemplo).
Así que mi pregunta es - ¿ese diseño es correcto, y cómo debo construir el resto del sistema de inicio de sesión: verificación loggedIn en cada página y cierre de sesión - cada uno de ellos debe estar en clase separada (y qué pasa con los métodos, que repetir en clase particular, si siempre los he heredado). Me doy cuenta de que hay diferentes enfoques para OOP, pero ¿hay algo en particular que deba seguir como principiante? (Eso me ayudará a entenderlo todo lo mejor posible).
No entiendo muy bien lo que preguntas aquí (¿puedes aclarar eso?), Pero en general: por lo general, es una buena idea seguir el concepto original y el modelo (el mundo real) con tus clases. Un "inicio de sesión" no es una cosa, pero sí una sesión y un usuario. – Niko
Estoy buscando un "patrón" para construir un sistema de inicio de sesión orientado a objetos (iniciar sesión, cerrar sesión, fastidiarme si el usuario está conectado en cada página), y no estoy seguro de si todas estas cosas deberían estar dentro clase única – Malyo