OK, I thought I'd better add a new answer so that I can add links and format code, etc. Apologies for the duplicate.
Well, learning to debug your code is definitely a big step up, but one that will provide a huge amount of insight into what the code is actually doing rather than relying on echo and print_r! :) Particularly for complex and genuinely object-oriented code where you jump around between objects all the time.
Firstly, make sure you're using a proper IDE. Again, I recommend Netbeans, but Eclipse will work. All links from here on will assume Netbeans.
There's a great tutorial on what debugging is with an example here on the Netbeans wiki. There are also setup guides for OSX, Windows and Ubuntu, so choose your poison!
The reason why I suggested the CartController.php and updatePostAction is because you can read from Magento's URL structure what module, controller and action are being called. So, if you inspect the form in the cart page (/checkout/cart), you'll see that the form submits to /checkout/cart/updatePost/
, which means Mage_Checkout
is the module, CartController
is the controller and updatePostAction
is the method. So when the user hits the "Update Shopping Cart" button, control (and the contents of the cart) will be passed to that method, hitting your breakpoint. You could also choose addAction
in the same class to catch it as it is added from the product page.
Once you're in the active debugging session, inspect the variables and add watches (if necessary) to observe what's going on. Use your F8
key to move through and F7
to dive to interesting calls.
Debugging will definitely take you at least a day to get your head around the process, but the investment is definitely worthwhile, it will make you a much better developer.
Good luck!
JD