Las otras respuestas dan una buena lista de herramientas para trabajar. El flujo de trabajo dependerá en gran medida del tipo de proyectos y personas involucradas. Si está comenzando, le sugiero que invierta en lo siguiente:
1.) Automatice la instalación de Magento
Configure un proceso de 1 comando / clic para instalar Magento incluyendo datos de muestra. Herramientas mencionadas para este
n98-magerun
mage-ci
jumpstorm
o su propio script. Algunos punteros se pueden encontrar aquí .
La idea para esta parte es que puede crear una instancia nueva con configuraciones repetibles sin mucho esfuerzo (en el momento en que se realice el esfuerzo, dudará / será flojo para crear una nueva instancia)
2.) Desarrolle y pruebe con la instancia configurada en 1.).
Para el desarrollo me he encontrado con dos líneas de pensamiento:
a.) Magento Core es parte de su proyecto
Mucha gente usa modman aquí, para mantener sus archivos fuera de la estructura de carpetas de Magento, así que asegúrese de revisar esto también.
b.) El proyecto solo incluye los archivos de extensión / tema
Tanto Phpstorm como Netbeans le permiten implementar al guardar en una ubicación específica (su carpeta raíz de Magento, también puede ser una instancia en línea a través de FTP). Usando Magicento para Phpstorm puede compensar las desventajas de este enfoque (insinuación de clase, ver herencia, finalización automática ...) Mi intuición aquí es que si está desarrollando para un cliente en particular, iría por 1.) con el objetivo Versión de Magento instalada y si tiene la intención de admitir varias versiones de Magento, optará por 2.)
3.) Comparta el código con la
implementación del equipo en un entorno donde su código se pueda probar junto con el trabajo de sus colegas
4.) Comience su proceso de control de calidad / implementación
En general,
use un sistema de control de versiones distribuido (git, mercurial, ...)
incluya pruebas (pruebas unitarias , integración )
automatice lo que puede
leer mucho: siga a algunos de los expertos que comparten libremente sus conocimientos (consulte sus blogs / github personales) cuentas). La mayoría de las veces esto le ahorrará mucho tiempo y aprenderá más rápido que intentar descubrirlo todo usted mismo.
¡Feliz codificación!