Although I'm a developer, I'm a newbie to Magento development. I'm having to force myself to cross-train into it because I need to debug some 3rd party extensions we've installed on our Magento server.
1. IDE - having looked around a bit, I decided to go with Zend Studio as it runs natively on a Mac. Others like PHPStorm and Netbeans look good but are slow as they run within a JRE. Any thoughts?
2. Would you recommend I install Magento on my local machine. Or is it realistic to be able to debug directly off the LAMP server.
3. What debugger would you recommend - XDebug, ZendDebugger or is there already something built into Magento?
4. Anyone had experience with using Z-Ray by zend?
Any advice appreciated ... thank you in advance!
Solved! Go to Solution.
1. I use PhpStorm. It's fast enough for me (MacBook here as well). It's probably most well regarded IDE among Magento developers, although some people prefer NetBeans. Mostly because it's free.
2. I run my development environment locally on my machine. Pretty much everyone and their dog do it, in case you're wondering.
3. Xdebug. Simply because it works. I'm open for suggestions here however.
To add to
1. I would definitely look to use PHPStorm. Even though it is Java it indexes all the files when you first open the project and makes it pretty quick after that. There is also a great plugin called "Magicento" http://magicento.com/ which can really help you.
2. I would look to get a Vagrant box up and running on your local machine. You could download a pre-made one already set up for Magento, Just google Magento 1 Vagrant. I find it really helpful to have a dev environment that closely resembles the live one.
Alternatively, you could just use something like Mamp locally, just be aware of differences between this and you live server, like PHP version and case sensitive filename.
Further to this I would definitely use Git to manage your code base. Just makes it so easy to track file changes and has a lot of features for working on multiple bits of work at the same time (using branches).
3. XDebug is good but be careful running this on a live environment. It can be a bit of a pain to set up and may not actually give you any straight up answers to what is wrong but can certainly help to debug uses breakpoints etc. It also integrates nicely with PHPStorm.
I would also consider using a Magento debug module (locally only) as these can help you work out what Magento is trying to do on some level. Look at "Magento Debug" (it's free and can be very useful)
4. Haven't used Z-ray but heard mixed things about it especially when working on a Magento site.
Some other (general) tools to maybe look into to help with dev and problem solving:
Oh, and never edit core code!