2009-06-20 21 views
0

Ich versuche, eine Klasse, die einige nicht näher spezifizierte Daten aus einer Datenbankabfrage (an meine Klasse als Array übergeben) nimmt und verwandelt es in ein PHP-Objekt mit Eigenschaften, die dynamisch erstellt werden aus den Daten, die an sie übergeben wurden.Erstellen eines Objekts aus einem dynamischen Datenbankaufruf

Wie so:

class myLibrary_Item extends myLibrary 
    { 
      private function __construct($vars) 
      { 
        foreach($vars as $var => $val) 
        { 
          $this->$var => $val; 
        } 
      } 

      private function __set($var, $val) 
      { 
        $this->$var => $val; 
      } 

      private function __get($var) 
      { 
        return $this->$var; 
      } 
    } 

$myArray = array(
    'firstName' => 'Joe', 
    'lastName' => 'Carrington' 
); 

$myObject = new myLibrary_Item($myArray) 
echo $myObject->firstName; 
//Hopefully will output Joe 

Also, meine Frage, ist dies eine überhaupt gute Idee? Fehle ich hier den Punkt der OOP? Sollte ich stattdessen etwas über PDO lernen? Es scheint, als könnte das eine große Hilfe sein, aber ich will die Käfer nicht raushauen, wenn das mich später in den Hintern beißt.

Antwort

0

Ich würde sagen, das ist in der Tat redundant zu PDOStatement->fetchObject.

php > $dbh = new PDO("mysql:host=localhost;dbname=test", "guest"); 
php > $stat = $dbh->prepare("select * from books"); 
php > $stat->execute(); 
php > while($row = $stat->fetchObject()) 
php > print_r($row); 
stdClass Object 
(
    [title] => Hitchhiker's Guide 
    [author] => Douglas Adams 
    [isbn] => 0345391802 
    [publisher] => Del Rey 
    [year] => 1995 
    [summary] => Arthur Dent accidentally saves the world. 
) 
Verwandte Themen