PHP   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php DAL – 单独的实体和数据库?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在研究和阅读很多关于在 PHP中使用单独的层来创建可维护和可读的代码.
但是,我看到很多代码将实体和数据库访问放在一个类中.
例如:
class User{
     public $id;
     public $username;
     public $database;

     function add(){
           $database->query ....
     }
}

我觉得这很奇怪,因为在这里你将user类与数据库元素混合在一起,这使得维护起来更加困难.

我喜欢这样工作:

>一个单独的数据库类
>用户类
>一个userData类

这样工作如下:

$database = new Database();
$database->openConnection();
$dataUser = new DataUser($db);
$user = new User(1,"myname");
$dataUser->saveUser($user);

所以我想知道,我是以正确的方式工作还是第一种创建代码的更好方法?
我发现可能很容易维护,因为你有一个单独的实体和一个单独的数据库类来处理数据库操作.

解决方法

你似乎在说你希望从Active Record方法转向Data Mapper/Entity/Repository方法.这是一个很好的方向,因为它采用了更好的关注点分离.你可以自己构建这个,但你可能想看看像Doctrine这样的解决方案,它可以让你做一些基于以下的事情:

$product = new Product();
$product->setName($newProductName);
$entitymanager->persist($product);

$product实体只是一个POPO(Plain Old php Object),它包含记录数据,并且不知道它是如何持久化的,并且当需要持久性时,它被传递到实体管理器来处理存储.

大佬总结

以上是大佬教程为你收集整理的php DAL – 单独的实体和数据库?全部内容,希望文章能够帮你解决php DAL – 单独的实体和数据库?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。