通过业务模型或业务对象,我指的是像“用户”这样的普通对象,具有所有属性名称、地址等;除了所有用户属性外,让我们假设每个用户都有一个“预约本”对象,每本书都有一组“时间段”对象等。业务模型具有对象之间的引用,至少这就是我在Java中编写业务模型的方式。
接下来是问题:
要在Java中初始化我的业务对象,我将
1. 在应用程序初始化期间仅从数据库中获取所有数据一次, 2. 将数据从我的数据库映射到我的业务对象 3. 存储在内存中(maps),它们将共享所有请求。
对于PHP的“无分享体系结构”,对于正确的面向对象编程,我感到困惑: 如果我使用相同的逻辑,我将不得不从DB检索所有对象,以供每个请求使用(我知道我仍然可以缓存,但您不会缓存所有DB,这不是关于缓存而是关于PHP及其架构的编程方式)。
所以,假设对于一个HTTP请求,我只需要用户属性,并且我不需要访问他的预约簿。为了获取用户引用的所有对象的所有数据,这将是一个遗憾,因为我只需要他的属性。这意味着我将使用许多NULL值(NULL是因为我不加载User中包含的对象)从我的模型初始化PHP对象,这可能会导致错误。
我想知道专业的PHP开发人员通常如何使用其业务对象? (我来自Java)
接下来是问题:
要在Java中初始化我的业务对象,我将
1. 在应用程序初始化期间仅从数据库中获取所有数据一次, 2. 将数据从我的数据库映射到我的业务对象 3. 存储在内存中(maps),它们将共享所有请求。
对于PHP的“无分享体系结构”,对于正确的面向对象编程,我感到困惑: 如果我使用相同的逻辑,我将不得不从DB检索所有对象,以供每个请求使用(我知道我仍然可以缓存,但您不会缓存所有DB,这不是关于缓存而是关于PHP及其架构的编程方式)。
所以,假设对于一个HTTP请求,我只需要用户属性,并且我不需要访问他的预约簿。为了获取用户引用的所有对象的所有数据,这将是一个遗憾,因为我只需要他的属性。这意味着我将使用许多NULL值(NULL是因为我不加载User中包含的对象)从我的模型初始化PHP对象,这可能会导致错误。
我想知道专业的PHP开发人员通常如何使用其业务对象? (我来自Java)