What version? It's hard to answer that question without knowing exactly what you are referring to. Realistically with any framework, you should work within the framework and not try to go outside of it unless there is some missing functionality. With MVC (related to symfony in this description), the standard is basically, put your html related files in the templates folders. Handle querying and logic in your actions. Handle your database abstraction in the model (Propel or Doctrine takes care of this). Handle your back-end authentication, security, routing etc, in your controller. This is like the 50,000 foot view of it. If you are wanting to know something specifically, post it up.