However for me "merge-ins" are a set of properly packed models, views and components already correctly placed in proper directories which the end users just untar /unzip and upload directly in the /app folder any decent ftp client will take care of putting stuff in proper folders.
Merge-in is also a good name :) The difference between your approach and mine is that in mine, we let cake do the work of getting all the files out of the right directories. if we "define" the right conventions (eg directories like app/extensions/my_extension/models/some_model.php) cake can just read out all the classes so they are available to the programmer. The main benefit of my approach is that you can just swap extensions in and out as you need them. Also updating extensions becomes more simple. With your approach, this gets a little trickier (especially when you want to remove an extension). The difference its small, but it's there, and this one of the cases where i think it's the right time to let cake do the cumbersome work (in the same manner as it does for app, vendor, and plugins) If i didn't convince you by now, i have another argument: svn externals. it only supports external directories, not files. So this creates some nice possibilities when working with extensions. (just like you can have your cake libs or your plugins as externals)
> so your app would have a directory "extensions", just like it has > plugins and vendors. > and a directory you place in extensions would contain the normal layout > (eg models,controllers, etc etc) What would be advantages of this over giving more power to plugins?
I think plugins are good the way the are. Although they may not be suited for the scenario that i described, they have their use. plugins are -by design- little applications that you deploy into other applications, but whose logic is seperated from the main app. Which is good, for the purpose of plugins. loading all classes of plugins by the main app would not only mean a (sometimes drastic) decrease of the permance of your app, you would also include a lot of classes that you don't need in your app (as plugins are meant to be called by requestactions). Plugins just aren't meant to have their sourcecode loaded by the main app. the loadPlugin<xxx>() functions are for those seldom cases where you want to grab a class from a plugin, but loading all sources from the main app would be pretty useless. plugins are meant to be applications on their own. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---
