How do you decide if something goes in the view or the controller?
Here are some specific examples:
Are the rules or guidelines for what component (model, view, or controller) should do what written somewhere where I can view them? I didn't see that in the documentation on the Zend Framework site.
Generally speaking, this question can apply to any MVC framework. Here are the guidelines I use:
Skinny controllers. If possible, have your controllers do little more than invoke business logic on your models and pass results to your views.
Views do nothing but View Logic. Do anything related to interacting with the user visually, like generating captchas, hiding and showing links based on ACL. Don't calculate totals. Don't invoke logic on models. Don't do business logic. It is generally OK to read the session from your views to hide and show data/links. But don't rely on that for security: make your controllers secure too.
Fat Models. Put as much business logic into your models as you can. That way, you can share them between controllers. If you find yourself in a controller iterating over elements of a model, resetting values based on certain rules, or otherwise doing complicated business logic, then you should try to find a way to get that logic into the model layer.
Hope this helps.