Hey guys,

I'm wondering if anyone has a clue on this one, but I need to check if this 
is the standard behavior or not in CakePHP 1.3.

Let's say I want to create a model anywhere in my app. Besides a lot of 
other options, I could do this with:

$Post = ClassRegistry::init('Post');

When I trace the call stack of my function, I see that cake invokes EVERY 
related model (via belongsTo, hasMany etc.). And it is doing it recursive, 
so when I hit a second related model with a back-connection to the first 
model, it constructs them another time all the way trough.

I have an app on Cake 1.3 with about 150 models, which are nearly all 
related to each other via model-paths/associations. When I trace the call 
stack and check what models get constructed, it will end up in constructing 
nearly 600 (!) model-classes (some models are instantiated at least 35 
times).


I checked this with Cake 2, and it behaves completely different. Only the 
models targeted within finds or accessing data from other models, those 
models are instantiated. The only thing I know of for the moment is 
removing those relations and use on-the-fly bind/unbind within all actions, 
but this would be a hell lot of work to do (and easier to migrate the whole 
app to cake2).

So my question is:

Is this normal for CakePHP 1.3 to create ALL related models/classes as 
well? Did anyone of you had similar problems when the app grew and you had 
more than 100 models? I'm really sure I setup all relations correctly and I 
already tested a lot if there is any wrong relation that might cause a 
recursion loop...

Maybe it's time for splitting the app into smaller services to avoid those 
complex relations and recursions...

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to