Nothing I hate but one thing I find is really lacking, one that would
facilitate sharing code (pl and one that would ease development.

Really lacking to me are objects for objects instead of arrays in the
models, for example a People->find('all') would return objects on
which you can call methods : $person->fullName(). It's currently the
only thing I find is a real problem when your app starts growing and
you add more logic in your models. Currently if you need to manipulate
your data before displaying you have to either do it in the view which
is ugly or find a way to pass your data array back to a model static
function, determine if you got all the data you need in the given
array and return you result.. Considering find methods return the data
in a different form depending on wether you did a find('first') or find
('all'), how the models are linked, or the fact that you could just
have an id and not the full data it's quite a pain. Felix's
AppModel::normalize (http://debuggable.com/posts/normalizing-cakephp-
model-records:48b7ed7f-9498-4b9c-8734-6f014834cda3) is a clever way to
do it and what I use right now but I think objects are the right next
step to clean code and reusability.

What would facilitate sharing code is a simplification of plugin
system, right now it works but is a bit complicated to set up and use,
which I think explains the relatively low amount of plugins available
on the Bakery and elsewhere. Compare this to the Rails world where
virtually every shared code is in plugin form : it's easy to integrate
in your app and stay up to date with a simple svn:externals or git
submodule. When you grab a component or datasource on the bakery you
have to copy and paste it in your app and updating later is kinda
difficult, especially if you use it in several apps. Having easy to
create and use plugins would facilitate the sharing of code and I
think speed up the growth of the framework's ecosystem. I guess this
plugin thing ain't that easy because as far as I know PHP lacks the
module system from Ruby which lets you inject code into existing
classes, easing the creation of plugins that can do almost anything.
But maybe there's another solution to that or the new namespaces will
help.

Last thing I think would help greatly is a full fledged console in
which you can instanciate objects, test your models and controllers
without the need to debug() and log() in a view. You can already do
cool stuff with the actual console but for example you can't (or I
don't know how) test a model method or a save, you can only do finds.
I use this all the time when working with Rails (I use both
frameworks) and it's really nice to quickly check something in your
code.

Well besides those that's all, nothing to hate about Cake really it's
an awesome tool. Thanks for gathering feedback, looking forward to see
what's coming out of all these ideas people post.

Do you plan on posting the results somewhere so we can grab stuff we
really care about and work on integrating it once it's been decided it
would be added to the core ?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to