【php – 域驱动设计,实体延迟加载】教程文章相关的互联网学习教程文章

php – 公共字段如何在Doctrine 2中“破解延迟加载”?

当我运行doctrine orm:validate-schema时,会弹出一堆关于我的映射列是公共的警告,而不是使用getter / setter方法来包装它们.它说他们“打破懒惰装载”.我可以理解如何使公共关联集合成为问题(我确实将它们设为私有并将它们包装起来),但这对于对象上的字段来说又是怎样的问题?据我所知,字段已全部加载.解决方法:虽然我当然不是Doctrine2专家,但我会对此给出一个镜头. 根据我的(有限的)使用和测试,似乎Doctrine可能会给你一个相关的...

php – 如何使用依赖注入容器延迟加载?

我是Dependency Injection Containers之类的新手. 我有一个User对象,我想用容器构建.在我的情况下,用户可能有大量与他/她关联的评论对象,但我不会在每个请求中都需要它们. 以前,我会让User模型创建并加载Comment模型本身,但我意识到这是一个不好的做法. 如果我不想在构建用户时加载所有注释(例如 – 如果我想懒洋洋地加载注释),我如何使用DI和DIC实现此目的? 注意:我知道有解决方案,但我不想使用它们,直到我了解它们是如何工作的...

php – 域驱动设计,实体延迟加载【代码】

我对领域驱动设计(DDD)相当陌生,但我所理解的是你对应用程序服务说话,这是你的“模型”的入口.该服务可以与使用源(文件,数据库等)来获取数据的存储库进行通信.存储库返回一个实体. 这就是我所得到的全球理念.服务知道存储库但不知道实体等. 现在我有以下问题. 我有一个实体用户,它类似于以下内容(仅作为示例)<?php class User {protected $name;protected $city_id;public function getCity(){// return $city_entity;} }getCi...

PHP – ORM延迟加载/身份映射实现问题【代码】

我有一个简单的ORM实现,包括加载和持久化实体的数据映射器.每个映射器在内部管理从数据库读取的所有实体的标识映射,以便同一实体仅加载到内存中一次. 我目前正在使用代理类实现相关实体的延迟加载,该代理类仅在访问实体上的属性时才加载相关数据.我的问题是代理类不是实体本身,只有在间接加载实体(通过关系)时才使用.所以任何===检查比较实际实体与加载同一实体的代理将返回false.我的目标是保持实体和客户端代码不知道代理对象. 代...