Создание объекта из динамического вызова базы данных - PullRequest
0 голосов
/ 20 июня 2009

Я пытаюсь создать класс, который берет некоторые неопределенные данные из запроса к базе данных (передается моему классу в виде массива) и превращает его в объект PHP со свойствами, которые создаются динамически из данных, передаваемых ему.

Вроде так:

    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

Итак, мой вопрос, это вообще хорошая идея? Я пропускаю точку ООП здесь? Должен ли я узнать о PDO вместо этого? Кажется, что это может быть большой помощью, но я не хочу выбивать ошибки, если это собирается укусить меня в задницу позже.

1 Ответ

0 голосов
/ 20 июня 2009

Я бы сказал, что это действительно избыточно для 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.
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...