好吧,我想这不是一个正常的如何做这个或那个 stackoverflow 问题,但也许有人可以启发我解决这个问题的更好方法。
我创建了一个接口,它可以根据一个值继承不同的“引擎”,并为所有引擎返回相同的对象。这是一个短期公寓租赁应用程序,它与其他州的其他应用程序有一些集成,显然每个都有一个 API,所以我必须知道如何在我的应用程序中以不同的方式发送和接收每个应用程序才能拥有相同的所有 API 的对象。我所做的就是初始化这样的东西。
$flat = new API(array('engine' => 'some_api')); // the array has some more information inside but it is unimportant for the question
现在我有一个 ID 列表,每个 ID 用于不同的 API。就像是
$list = array(1 => 'api_1', 2 => 'api_2'); // and more ...
现在的问题!
在迭代$list
您认为更好的方法时,保留 API 对象内的所有可能引擎以及每个 ID 我已经在 API 对象内初始化了“引擎”(可能更好的速度/性能,因为所有内容都已分配)或应该foreach ID 创建一个新的 API 对象,仅初始化正确的“引擎”。(速度/性能较低,但内存管理应该更好)。
API 对象在迭代范围之外没有任何意义,因此无需进一步保留它,但如果我只启动一个对象而不是说 2 或 4,那么总的垃圾收集开销可能会更少对于我拥有的 ID 数量。
有什么想法吗?