Hallo PHPler
ich bin gerade dabei mir eine DB Klasse zu basteln, nun stehe ich vor folgender Frage, um Tippfehler von Tabellennamen oder Tabellenfeldern zu verhindern hab ich mir gedacht, dass ich für jede tabelle in meiner Datenbank per Generator ein PHP File erstelle und darin eine Klasse erstelle mit einem "DBC_" (DatabaseConnector) als Prefix(z.b.: "DBC_config"). Nun erstelle ich für jedes Feld der Tabelle einen Getter und einen Setter.
Nun habe ich eine DB Klasse, die die eigentliche Datenbankabfrage durchführt.
Nur wie genau soll ich das reallisieren, also bezogen auf die Unterklassen, die in den erzeugten Files liegen, ich mag das mal an einem Beispiel versuchen zu erklären:
DBC_user.php:
nun meine eigentlichen Fragen:
wie genau soll ich auf die MainDBKlasse zugreifen, normalerweise rufe ich sie folgendermaßen auf, manuell..
Wie soll ich die Daten speichern, reicht einfach in eine Variable, wie mach ich das, wenn ich z.b. nur eine Spalte abrufen will ..?
wie genau sollte die ausgabestruktur ausschauen ...?
was für zusätzliche Funktionen sollte ich in das Template einbinden ?
ich dachte z.b. an eine Funktion, die automatisch einen Timestamp einfügt, beim INSERT neuer Daten und bei UDATE soll ein Timestamp bei last_change hinzugefügt werden ...
danke schon jetzt für eure Anregungen !!!
ich hoffe dieses Thema ist angebessen für die Rubrik Software-Design ...
lg Phillkill12
ich bin gerade dabei mir eine DB Klasse zu basteln, nun stehe ich vor folgender Frage, um Tippfehler von Tabellennamen oder Tabellenfeldern zu verhindern hab ich mir gedacht, dass ich für jede tabelle in meiner Datenbank per Generator ein PHP File erstelle und darin eine Klasse erstelle mit einem "DBC_" (DatabaseConnector) als Prefix(z.b.: "DBC_config"). Nun erstelle ich für jedes Feld der Tabelle einen Getter und einen Setter.
Nun habe ich eine DB Klasse, die die eigentliche Datenbankabfrage durchführt.
Nur wie genau soll ich das reallisieren, also bezogen auf die Unterklassen, die in den erzeugten Files liegen, ich mag das mal an einem Beispiel versuchen zu erklären:
Code:
Struktur von `user` | id | name | age | . :
PHP-Code:
class DBC_user {
// Fields
private $id;
private $name;
private $age;
// Output Cacher
private $output;
// GETTER
public function get_id () {
return $this->id;
}
public function get_name () {
return $this->name;
}
public function get_age () {
return $this->age;
}
// SETTER
public function set_id ( $value = null ) {
// Überprüfungsstruktur hängt vom Datentyp des Feldes ab ..
if ( check($value) ) {
$this->id = value;
} else {
return false;
}
}
public function set_name ( $value = null ) {
// Überprüfungsstruktur hängt vom Datentyp des Feldes ab ..
if ( check($value) ) {
$this->name = value;
} else {
return false;
}
}
public function set_age ( $value = null ) {
// Überprüfungsstruktur hängt vom Datentyp des Feldes ab ..
if ( check($value) ) {
$this->age = value;
} else {
return false;
}
}
}
wie genau soll ich auf die MainDBKlasse zugreifen, normalerweise rufe ich sie folgendermaßen auf, manuell..
PHP-Code:
$dbc = new db(); // Klasse erzeugen
$dbc->setTableName("user"); // Setze Tabelle
$dbc->setTableConditions(array("id"=>1)); // Setze WHERE Bedingung
$data = $dbc->getData(); // Schreiben der Daten in $data
var_dump($data);
// Beispiel-AUSGABE:
Array(...)
[0] => array (3)
["id"] => "1"
["name"] => "admin"
["age"] => "19"
.....
wie genau sollte die ausgabestruktur ausschauen ...?
was für zusätzliche Funktionen sollte ich in das Template einbinden ?
ich dachte z.b. an eine Funktion, die automatisch einen Timestamp einfügt, beim INSERT neuer Daten und bei UDATE soll ein Timestamp bei last_change hinzugefügt werden ...
danke schon jetzt für eure Anregungen !!!
ich hoffe dieses Thema ist angebessen für die Rubrik Software-Design ...
lg Phillkill12
Kommentar