When to use init(), preprocess() and prerender()

In this thread, Craig suggests asking yourself the following questions:

  1. Do I need the results of this computation in order to process a form submit?
  2. Do I need the results of this computation in order to render the page?
    Then, based on your answers,
  • Use init() for (1) and (2)
  • Use preprocess() for (1) only
  • Use prerender() for (2) only
  • No labels