Details
-
Type:
Improvement
-
Status:
Resolved
-
Priority:
Blocker
-
Resolution: Invalid
-
Affects Version/s: 1.2.0-ALPHA1, 1.2.2
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
Description
Doctrine 1.1.3 calls post hydration listeners before relationships are loaded.
This O
patch caches the information needed to call the listeners and calls the listeners in reverse order after all the data has been loaded. The net effect is that postHydrate listeners are called for all an object's children before being called for a parent object.
Memory cost should be minor (O
@ two pointers per record), and the (additional) processing cost should be flat and almost zero (n function calls to postHydrate have simply been moved outside the loop to a second loop). There is an additional call to $table->getComponentName() in the second loop that could be eliminated by storing $componentName with the other event initializers in the new stack).
This patch no longer applies as the hydration code is re factored a lot in 1.2