Bir dinamik veritabanı çağrısından bir nesne oluşturma

1 Cevap php

Ben (bir dizi olarak benim sınıfa geçti) bir veritabanı sorgu bazı belirtilmemiş verileri alır ve kendisine geçirilen verilerin dinamik olarak oluşturulan özellikleri olan bir PHP nesnesine dönüşüyor bir sınıf yapmaya çalışıyorum.

Şöyle:

    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

Yani, benim soru, bu hiç de iyi bir fikir mi? Ben burada OOP noktasını eksik? Ben yerine PDO hakkında bilgi sahibi olmalıdır? Bu büyük bir yardım olabilir gibi görünüyor, ama bu daha sonra popo beni ısıracak eğer ben hata çekiç istemiyorum.

1 Cevap

Ben bu gerçekten PDOStatement->fetchObject gereksiz olduğunu söyleyebilirim.

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.
)