문제

I am new to Magento Development ( CE 1.6 ) and am still trying to define my workflow. I currently develop on Mac OSX 10.8 with Netbeans 7.3, but I find that Netbeans is slow and freezes on me. I tend to switch over to Sublime Text 2 to do quick viewing/editing of files, or I'll just pull up Vim sometimes for convenience.

My questions:

  1. "What does a modern Magento 1.X workflow look like?"
  2. "What tools/configurations/plugins are best suited for Magento Development?"

I know that this is a subjective thing, and there isn't going to be 'one workflow to rule them all', but I also believe that all of you certified/experienced developers would have some common choices. At the very least, I would expect some battle tested knowledge.

I would appreciate any input/feedback/suggestions.

Thank you!

도움이 되었습니까?

해결책

I agree that the list is subjective, but I suggest the following excellent tools I use every day:

다른 팁

The other answers give a good list of tools to work with. Workflow will highly depend on type of projects and people involved. If you are starting out I would suggest investing into the following:

1.) Automate the installation of Magento
Set up a 1 command/click process to install Magento including sample data. Tools mentioned for this
n98-magerun
mage-ci
jumpstorm
or your own script. Some pointers can be found here.

The idea for this part is that you are able to create a fresh instance with repeatable settings without much effort (the moment effort is involved you will become hesitant/lazy to create a new instance)

2.) Develop and test with the instance set up in 1.).
For developing I have encountered two trains of thought:
a.) Magento Core is part of your project
Lots of folks use modman here, to keep their files outside of the Magento folder structure so be sure to check this out as well.
b.) Project only includes the extension/theme files
Both Phpstorm and Netbeans allow you to deploy on save to a specified location (your Magento root folder, can also be an online instance via FTP). Using Magicento for Phpstorm you can make up the disadvantages of this approach (class hinting, seeing inheritance, auto completion ...) My gut feeling here is that if you are developing for one particular client you would go for 1.) with the targetted Magento version installed and if you intend to support multiple versions of Magento you would go for 2.)

3.) Share code with team
deploy into an environment where your code can be tested in conjunction with your colleagues' work

4.) Start your QA/deploy process

Overall
use a distributed version control system (git, mercurial, ...)
include tests (unit tests, integration)
automate what you can
read lots - follow some of the experts on here who freely share their knowledge (check their personal blogs/github accounts). More often than not this will save you lots of time and you will learn quicker than trying to discover it all yourself.

Happy Coding!

I personally like:

I can advice following tools for Magento development.
1. PhpStorm - excellent and clever IDE for development PHP applications.
2. magicento plugin for PhpStorm. Very useful plugin for Magento development automation.
3. Debug toolbar for Magento store.
4. Advanced developer toolbar for Magento store.

And great sources and tuts here:
http://alanstorm.com/category/magento
http://inchoo.net/
http://magebase.com/category/magento-tutorials/
http://fishpig.co.uk/blog/

I would add one more thing to the list:

When you are developing web services for Magento, for example when using the SOAP API, then this tool will help you to easily do requests and write repeatable steps to test workflows (login, fetch orders, fetch details of first order, create invoice):

http://www.soapui.org/

One more brand new developer toolbar/profiler its based on the awesome symfony web profiler and shows you nearly everything from missing translations to database queries and rendering time of individual blocks etc.

https://github.com/ecoco/magento_profiler

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top