Как реализовать распечатку элементов, используя дизайн паттернов с php nad DB? - PullRequest
0 голосов
/ 16 февраля 2010

У меня следующая проблема с перечислением данных из БД. Предположим, у нас есть стол «клиент» в БД с полями:

id_client
username
password
last_login

запрос:

SELECT username,password,last_login FROM client ORDER BY id_client LIMIT 20,20

Обычный процедурный список клиентов будет:

/* connect to DB using mysqli */

if ($result = $mysqli->query("SELECT username,password,last_login FROM client ORDER BY id_client LIMIT 20,20")) 
{
    while ($row = $result->fetch_row()) {
        printf (" -- %s (%s) -- ", $row[0], $row[1]);
    }
    $result->close();
}

Но я хочу воспрепятствовать этому, используя рисунок и мой начальный код будет:

class client 
{
   private id_client,
   username,
   password,
   last_login,

  ...

}

Как реализовать класс клиента (и другие классы), чтобы выполнить запрос запроса для всего набора клиентов (не один за другим) и перечислить их одним выстрелом (один запрос), используя шаблоны проектирования? Какой шаблон я должен использовать?

Привет

1 Ответ

2 голосов
/ 16 февраля 2010

Полагаю, вы ищете ORM. Их несколько:

  • Доктрина
  • Propel
  • (CakePHP также имеет один встроенный)

Уровень данных CakePHP является реализацией шаблона ActiveRecord. Cake прочитает вашу схему БД и автоматически предоставит поле $ Model-> и некоторые авто получатели / установщики (например, findAllById или findByName).

Здесь - документация CakePHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...