Moin Leute,
ich beschäftige mich seit einigen Tagen mit der Objektorientierten Programmierung. Dabei bin ich dann irgendwie auf PDO gestoßen, und finde das ist eigentlich eine ganz feine Sache. Vielleicht hat der ein odere andere von euch das ja in dem anderen Thread mitbekommen.
Als erstes Projekt dachte ich mir, ich bastel eine kleine Abstraktionsschicht für PDO ( Ja, in dem anderen Thread wurde da was gepostet, das habe ich aber nicht vollständig begriffen, darum wollte ich mir selber etwas schreiben. )
Zuerst dachte ich mir: Was soll das Ding eigentlich leisten ?
Der Endbenutzer soll also eigentlich nicht mehr benutzen müssen als das:
Dafür habe ich mir nun folgenden Codeschnippsel gebastelt:
Funktioniert soweit auch, sofern die Queries keine Synstax-Fehler haben und alle Tabellen/Spalten existieren. Ich hab mich nun ne Weile durch das Manual gewühlt und irgendwie komm ich mit dem Error-Handling garnicht klar.
Ich möchte gerne eine Exception werfen, die den SQL-Error enthält ( sofern vorhanden ), damit der Benutzer weiß, was er verkehrt gemacht hat.
Ansonsten, hackt bitte auf mir herum, ich bin für jeden Tip, jede Kritik, oder sonstige Äußerung irgendwie dankbar. Ich bin ein Anfänger, und möchte gern was dazulernen.
Greetz,
nohfreak
P.S.: Evtl. gehört der THread auch eher nach Projekthilfe, ich weiß nicht genau. :>
ich beschäftige mich seit einigen Tagen mit der Objektorientierten Programmierung. Dabei bin ich dann irgendwie auf PDO gestoßen, und finde das ist eigentlich eine ganz feine Sache. Vielleicht hat der ein odere andere von euch das ja in dem anderen Thread mitbekommen.
Als erstes Projekt dachte ich mir, ich bastel eine kleine Abstraktionsschicht für PDO ( Ja, in dem anderen Thread wurde da was gepostet, das habe ich aber nicht vollständig begriffen, darum wollte ich mir selber etwas schreiben. )
Zuerst dachte ich mir: Was soll das Ding eigentlich leisten ?
- Den Code für spätere Projekte übersichtlich halten ( Einfach nur Query mit ? und dahinter ein Array mit den Werten als Paramter für Queries )
- Bei SELECT-Anfragen das Ergebnis in einem assoziativen Array zurückgeben.
Der Endbenutzer soll also eigentlich nicht mehr benutzen müssen als das:
PHP-Code:
$db = new MyQuery('localhost', 'xxx', 'xxx', 'verwaltung');
$result = $db -> doQuery("SELECT name FROM account WHERE name = ?", array('Klaus'));
PHP-Code:
<?php
class MyQuery extends PDO{
public function __construct($host, $user, $password, $database){
parent::__construct('mysql:host=' . $host .';dbname='. $database . '',
$user, $password);
}
public function doQuery($query, $data = array()){
$stm = $this -> prepare ( $query );
if($stm -> execute( (array) $data)){
if (preg_match ("/^select/i", $query)){
$result = $stm -> fetchAll(PDO::FETCH_ASSOC);
return $result;
}
else{
return true;
}
$this -> closeCursor();
}
}
}
?>
Ich möchte gerne eine Exception werfen, die den SQL-Error enthält ( sofern vorhanden ), damit der Benutzer weiß, was er verkehrt gemacht hat.
Ansonsten, hackt bitte auf mir herum, ich bin für jeden Tip, jede Kritik, oder sonstige Äußerung irgendwie dankbar. Ich bin ein Anfänger, und möchte gern was dazulernen.
Greetz,
nohfreak
P.S.: Evtl. gehört der THread auch eher nach Projekthilfe, ich weiß nicht genau. :>
Kommentar