Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php nad DB中使用设计模式实现项目列表?_Php_Design Patterns - Fatal编程技术网

如何在php nad DB中使用设计模式实现项目列表?

如何在php nad DB中使用设计模式实现项目列表?,php,design-patterns,Php,Design Patterns,我在列出数据库中的数据时遇到以下问题。假设我们有一张桌子 数据库中带有字段的“客户端”: id_client username password last_login 客户的正常程序清单为: /* connect to DB using mysqli */ if ($result = $mysqli->query("SELECT username,password,last_login FROM client ORDER BY id_client LIMIT 20,20")) {

我在列出数据库中的数据时遇到以下问题。假设我们有一张桌子 数据库中带有字段的“客户端”:

id_client username password last_login 客户的正常程序清单为:

/* 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,

  ...

}
但我想用设计模式来验证它 我的初始代码是:

/* 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,

  ...

}
如何实现客户机类(和其他类)来执行整个客户机集的查询请求(不是一个接一个),并使用设计模式一次性列出它们(一个查询)?我应该使用哪种模式


您好

我想您正在寻找ORM。有几种:

  • 教义
  • 推进
  • (CakePHP还内置了一个)
CakePHP数据层是ActiveRecord模式的实现。Cake将读取您的DB模式,并自动提供$Model->field和一些自动getter/setter(如findallbyd或findByName)

是CakePHP文档