As outras respostas fornecem uma boa lista de ferramentas para trabalhar. O fluxo de trabalho dependerá muito do tipo de projeto e das pessoas envolvidas. Se você está começando, sugiro investir no seguinte:
1.) Automatize a instalação do Magento
Configure um processo de 1 comando / clique para instalar o Magento, incluindo dados de amostra. Ferramentas mencionado para este
n98-magerun
mago-ci
jumpstorm
ou o seu próprio script. Alguns ponteiros podem ser encontrados aqui .
A idéia para esta parte é que você seja capaz de criar uma instância nova com configurações repetíveis sem muito esforço (no momento em que estiver envolvido, você ficará hesitante / preguiçoso em criar uma nova instância)
2.) Desenvolva e teste com a instância configurada em 1.).
Para desenvolver, encontrei duas linhas de pensamento:
a.) O Magento Core faz parte do seu projeto
Muitas pessoas usam o modman aqui, para manter seus arquivos fora da estrutura de pastas do Magento, por isso não deixe de conferir também.
b.) O projeto inclui apenas os arquivos de extensão / tema
O Phpstorm e o Netbeans permitem que você implante o save em um local especificado (a pasta raiz do Magento, também pode ser uma instância online via FTP). Usando o Magicento para Phpstorm, você pode compensar as desvantagens dessa abordagem (dicas de classe, herança, conclusão automática ...) Meu pressentimento aqui é que, se você estiver desenvolvendo para um cliente em particular, iria para o 1. Versão do Magento instalada e se você pretende oferecer suporte a várias versões do Magento, você deve usar a versão 2.)
3.) Compartilhe código com a equipe
implantada em um ambiente onde seu código possa ser testado em conjunto com o trabalho de seus colegas
4.) Inicie seu processo de controle de qualidade / implantação
No geral,
use um sistema de controle de versão distribuído (git, mercurial, ...)
inclua testes (testes de unidade , integração )
automatize o que você pode
ler muito - siga alguns especialistas aqui que compartilham livremente seus conhecimentos (consulte seus blogs pessoais / github contas). Na maioria das vezes, isso economiza muito tempo e você aprenderá mais rápido do que tentar descobrir tudo sozinho.
Feliz codificação!