Introduzione:
Sono stato un programmatore PHP procedurale. Per alcuni mesi ho seguito i tutorial di OO e ho guardato molti video su questo argomento. È del 100% chiaro che il metodo OO è una programmazione più efficiente, soprattutto perché le dimensioni del mio progetto sono in crescita.
Quindi, quello che voglio imparare è il modo di pensare orientato agli oggetti.
Sappiamo tutti gli esempi di auto e di classe animale. Anche se capisco perché li usano come esempi e perché sono oggetti, non è chiaro quale sia la definizione di un oggetto.
Qual è la definizione di un oggetto?
Il seguente esempio è un buon esempio di un oggetto?
class Password {
public function random($strength) {
// Returns a random password with a specific strength
}
public function check($password, $strength) {
// Returns if the password meets the strength requirements
}
public function hash($password) {
// Return a hash created with PHP's password_hash() function
}
public function match($password, $hash) {
// Returns if the password matches the hash using password_verify()
}
}
Aggiornamento sulla risposta di Greg Burghardt:
Quindi questo sarebbe considerato come orientato agli oggetti?
class Password {
private $_password;
public function __construct($password) {
$this->_password = trim($password);
}
public function check($strength) {
// Returns if the password meets the strength requirements
}
public function hash() {
return password_hash($this->_password, PASSWORD_BCRYPT);
}
public function match($hash) {
return password_verify($this->_password, $hash);
}
}