Prendere una classe sola e "valutarne" la programmazione ad oggetti è difficile. La valutazione va fatta sull'insieme.... in ogni caso, la variaibiel $valida cosa contiene?
io vedrei così le classi...
praticamente tu all'interno delle implementazioni non devi prevedere la stampa a video di nessuna informazione...devi fare in modo che ogni funzione restituisca un qualcosa. La stessa funzione getErrors, non deve stampare nulla, deve restituire una stringa di errori. è dal codice che invoca tali funzioni che devi prevedere la stampa del messagio di errore. Alcune funzioni critiche, come la connessione a una base di dati, devono prevedere dei sistemi di gestione delle eccezioni.Codice PHP:class DB{
/*
devi crearti una classe che faccia da interfaccia tra l'applicativo e la base di dati con opportuni metodi privati e pubblici e decidere se usarli statici o meno...nel mio esempio sono statici
*/
}
class Login{
//è vero che al momento la classe non è estesa ma devi prevedere il riuso del codice quando
//sviluppi con la logica OOP altrimenti non avrebbe senso
private $username,$password,$errori,$login;
public function __construct(){}
private function checkInDB($user, $pass){
if (!DB::connect("Nome_DB")) return DB::getError();
$result = DB::execute("la tua query");
.....
return vero se c'è, falso se non c'è
}
private function valida(){}
public function login(){
if (!$this->valida()) return false;
if($this->checkInDB($_POST['username'], $_POST['password'])
header("Location: ./profile.php");
else{
$this->errori[] = "Ma che cacchio vuoi entrare se non puoi? ^_^"
return false;
}
}
public function getErrors(){}
}
Detto ciò è probabile che io stia ancora dormendo, quindi se ho dimenticato qualcosa è "normale" ^_^. Il codice messo è una piccola dimostrazione di come lo svilupperei io e, ovviamente, per ragioni di sonno e tempo non è assolutamente completo![]()

Rispondi quotando