According to the difference of the Magento version.The probable running process is:
1.Load .xml files if necessary in each folder.
2.Load and dispatch the controllers.
3.Gain infomation from the URL.
4.Match the request, then generate and validate the class file name, class.
5.Include the file containing controller class if this class is not defined yet.
6.Gain and dispatch the actions.
If necessary,then:
7.Loadlayout. And gain the name of templates.
8.Load and parse .xml files in the 'layout' folder.
9.Load and parse the templates(getChildHtml();).
10.Load system widgets.
My first question about the Magento is that the parameter 'Objects' of the function 'run'(or others) may be the stamp coupling
. I need to prove it further.
Secondly, I can't understand the necessary of the class Varien_Profiler. Maybe it can tell us which runs first.
Thirdly, I can't recognize that the Magento is based on the Smarty. Isn't writing the PHP code in the Smarty template files forbiden?