Ciao a tutti,
Ho nuovamente bisogno del vostro aiuto, sto iniziando un nuovo progettino e vorrei standarnizzare delle classi da poi utilizzare ovunque, in modo dell obj è sempre stato un lato oscuro per me e vorre mostrarvi la mia visione per avere suggerimenti e pareri sugli errori.
Le classi costruite sono povere e praticamente senza nessun metodo perche vorrei crearli steb by step.
Per ora ho queste due classi :
codice:
<?php
class MysqlClass{
// parametri per la connessione al database
private $host = "";
private $user = "";
private $pwd = "";
var $result;
var $data;
// controllo sulle connessioni attive
private $attiva = false;
// funzione per la connessione a MySQL
public function connetti(){
if(!$this->attiva){
mysql_connect($this->host,$this->user,$this->pwd);
mysql_select_db("")or die("cannot select DB");
}else{
return true;
}
}
public function disconnetti(){
if($this->attiva){
if(mysql_close()){
$this->attiva = false;
return true;
}else{
return false;
}
}
}
/*-------------------ESECUZIONE ED ELABORAZIONE QUERY-------------------------*/
public function query($sql){
if(!$this->result = mysql_query($sql)){
trigger_error('<p align="center">fail query database
');
die (mysql_error().' in :
'.nl2br($sql));
}
else{
return $this->result;
}
}
public function fetch($result){
return mysql_fetch_array($result);
}
function rows($result){
return mysql_num_rows($result);
}
/*-------------------ESECUZIONE ED ELABORAZIONE QUERY-------------------------*/
}
E la classe user :
codice:
<?php
class User{
public $id;
public $nome;
public $cognome;
public $codcli;
public $utente;
public $pwd;
public $scadpwd;
public $flgblocco;
public function selezione($idtmp){
$conn = new MysqlClass();
$conn->connetti();
$sql="SELECT * FROM utenticli WHERE utcli_id = ".$idtmp;
$res = $conn->query($sql);
if($conn->rows($res) != 1 ){
return false;
}else{
$rkut = $conn->fetch($res);
$this->id = $rkut['utcli_id'];
$this->nome = $rkut['utcli_nome'];
/*public $cognome;
public $codcli;
public $utente;
public $pwd;
public $scadpwd;
public $flgblocco; */
}
}
}
?>
Innazitutto mi sorge subito un dubbio come vederete all'inteno della classe user per valorizzare tutte le proprietà ho creato l'oggetto connessione e ho fatto la mia interrogazione è una pratica corretta quella che sto utilizzando?
Per funzionare funziona ma vorrei avere un parere.
La mia idea iniziare era creare la classe padre connection e poi estendere tutte le varie entita (User, interventi ecc ecc) per ereditare i metodi per l'interrogazione al db ma vedo che anche cosi funziona....
La mia logica di ragionamento è corretta?
Datemi un vostro parere vi prego, vorrei evitare di costruire il mondo per poi capire che ho sbagliato una cosa e reiniziare tutto da capo..
Grazie a tutti per le risposte.