我如何在magento中找到dispatchEvent方法?

say i have found this line

Mage::dispatchEvent('catalog_product_is_salable_before', array(
    'product'   => $this
));

how do i find the method that is called by Mage::dispatchEvent, i have learned that Magento has stuck some of these Mage::dispatchEvent lines in but haven't created any methods for them for the purpose of customization so i am also wondering how i will be able to tell the difference between them

In Magento there are event listeners that call the methods. The dispatchEvent basically releases a flare so to speak and there are "observers" waiting for this signal, which then call the methods you assign.

You assign the observers of events/flares to call methods using your module's etc/config.xml.

You can read this nice tutorial on how to do it here

If you are interested in knowing what events there are by default, there is a link on that page: Magento Event List (Which doesn't work) sorry.

Marshall's answer gives a good summary of how events work, and how to assign event observers.

However, if you want to find exactly what methods are called by a particular event dispatch, you'll need to do a bit more work.

One tool that comes in very handy for these sorts of things is n98-magerun. It is a command-line to that allows you to perform many of the routine development tasks relating to Magento with ease.

One of the n98-magerun commands is dev:module:observer:list. It lists every single observer that's registered in all config.xml files accross the application.

You can then search/grep the output for the particular event you're looking for, in this case catalog_product_is_salable_before.