我一直在研究和阅读很多关于在
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);
所以我想知道,我是以正确的方式工作还是第一种创建代码的更好方法?
我发现可能很容易维护,因为你有一个单独的实体和一个单独的数据库类来处理数据库操作.
easy to maintain because you have a separate entity and a separate
database class
你似乎在说你希望从Active Record方法转向Data Mapper/Entity/Repository方法.这是一个很好的方向,因为它采用了更好的关注点分离.你可以自己构建这个,但你可能想看看像Doctrine这样的解决方案,它可以让你做一些基于以下的事情:
$product = new Product(); $product->setName($newProductName); $entityManager->persist($product);
$product实体只是一个POPO(Plain Old PHP Object),它包含记录数据,并且不知道它是如何持久化的,并且当需要持久性时,它被传递到实体管理器来处理存储.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。