gpt4 book ai didi

php - 学说 2.x 增删改查

转载 作者:搜寻专家 更新时间:2023-10-31 21:42:56 25 4
gpt4 key购买 nike

我听说过很多关于 ORM Doctrine 的好消息。我可以使用像 http://www.phpandstuff.com/articles/codeigniter-doctrine-from-scratch-day-1-install-and-setup 这样的很棒的教程来学习 Doctrine。 , 但它已经过时并且正在使用 Doctrine 1.x。我更喜欢立即学习 Doctrine 2.x 以节省时间。

我设法结合 Codeigniter 2.0.3 安装了 Doctrine 2.1。我已经设法完成了一些基本操作,例如添加新对象并将它们保存到数据库中。现在我正在尝试一些不应该太困难的事情,但我花了相当多的时间来了解如何执行以下操作:

如果我想使用 $_POST 数据创建一个对象,我不想在代码中单独分配每个属性。我更喜欢 $u->fromArray 这样的东西,例如如图

$data = array(
'username' => 'myuser',
'password' => 'mypass',
'email' => 'my@email.com'
);

$u = new User();
$u->fromArray($data);
$u->save();

来源:http://www.phpandstuff.com/articles/codeigniter-doctrine-day-5-database-crud

然而,fromArray() 不再存在于 Doctrine 2.x 中。 Doctrine 2.x 中是否有 fromArray() 的等价物?

第二个问题:我觉得入门挺难的。官方文档主要关注 Doctrine。如果有一个包含表单验证、crud 操作等内容的实际示例会非常好。如果有一个使用 Doctrine 2 的 MVC 示例项目会非常好。有人知道这样的教程或示例项目吗?

最佳答案

答案真的取决于您。您的实体只是普通的旧 PHP 对象——因此您需要教它们一些技巧(例如实现 fromArray() 方法),或者围绕它们构建基础设施。

一些选项,可能适合也可能不适合您的用例:

  • 为填充属性的实体编写构造函数:new Article($title, $author, $abstract, $body)new Article($arrayOrObject)<
  • 写一个静态工厂方法
  • 编写自己的 fromArray() 实现
  • 在一个抽象类中编写您自己的 fromArray() 实现,您的所有实体都继承该抽象类,并可能根据需要覆盖

关于php - 学说 2.x 增删改查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8196740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com