April 3, 2013 By Danny,
One of the more valuable things I've done in my enduring effort to learn and understand Magento was taking the time to walk through the request flow, from Mage::run($mageRunCode, $mageRunType) toMage::dispatchEvent('controller_front_send_response_after', array('front'=>$this)). Coming from working with the Zend Framework and working with Magento for a while, I've always understood with varying level of detail, what was going on: init this, load that, routers this, events that, request, responses, etc. At any given time in the past, for one reason or another, I've found myself looking at various different parts of this flow (usually only when looking for a reason why something is not doing what I think it should be doing). But that process is disjointed and rarely efficient. Being armed with the knowledge of exactly how each request is being processed from start to finish, with insight into more of the little things going on, I am able to both diagnosis problems faster and make smarter decisions when creating new or overriding current functionality. (Case in point, I am not sure I would have ever seen or thought to use the event 'core_layout_update_updates_get_after' found in the recesses of Mage_Core_Model_Layout_Update, but I just used it and undoubtedly saved myself a much less eloquent workaround) While starting to learn Magento is an ostensibly dubious task due to its size, complexity and unique implementations, I do wish I had taken the time to do this much earlier. Of course, I certainly don't have it all memorized and have more to learn, but below is glimpse into what my initial process was:
Danny is DO’s Technology Director and recently received his Magento Plus Certification. He is also obnoxiously photogenic.

More from the
DO Blog