Modern Magento 1.X Рабочий процесс и инструменты разработки

53

Я новичок в Magento Development (CE 1.6) и все еще пытаюсь определить свой рабочий процесс. В настоящее время я работаю на Mac OSX 10.8 с Netbeans 7.3, но обнаружил, что Netbeans работает медленно и зависает на мне. Я стремлюсь переключиться на Sublime Text 2, чтобы быстро просматривать / редактировать файлы, или я просто иногда запускаю Vim для удобства.

Мои вопросы :

  1. " Как выглядит современный рабочий процесс Magento 1.X? "
  2. " Какие инструменты / конфигурации / плагины лучше всего подходят для разработки Magento? "

Я знаю, что это субъективная вещь, и не будет «одного рабочего процесса, чтобы управлять ими всеми», но я также считаю, что у всех вас, сертифицированных / опытных разработчиков, будет несколько общих решений. По крайней мере, я бы ожидал некоторых проверенных в бою знаний.

Буду признателен за любой вклад / отзывы / предложения.

Спасибо!

ryanF
источник
1
stackoverflow.com/questions/4609010/… возможно, связанный вопрос SO, с аналогичным входом.
B00MER

Ответы:

61

Я согласен, что список субъективен, но я предлагаю следующие отличные инструменты, которые я использую каждый день:

Vinai
источник
1
+1 для Винай. Что касается настройки локального сервера, возможно, добавьте Vagrant в список, но мне также очень нравится пакет PHP от Liip, который устанавливает последнюю версию PHP на OSX с приличным php.ini. Смотрите php-osx.liip.ch . Для быстрого редактирования, возможно, взгляните на Textmate. Это не так много функций, как ST, но это бесплатно ;-)
mnp
1
@ryanF, наверное, само собой разумеется, но я бы добавил, что вы работаете на приличном оборудовании. Я знаю людей, которые используют Sublime исключительно потому, что у них нет достаточно быстрой машины, чтобы работать с IDE, такой как PHP Storm Snappy.
Календжордан
4
Был также пользователем Netbeans, но попытка Phpstorm + Magicento сделала меня одним счастливым разработчиком :)
Сергей Гук
1
На OS X PHPStorm намного быстрее, чем NB
Vinai
1
я только что создал новую панель инструментов разработчика / профилировщик, возможно, она подойдет вашему списку :) github.com/ecoco/magento_profiler
Fantus
20

Другие ответы дают хороший список инструментов для работы. Рабочий процесс будет сильно зависеть от типа проектов и вовлеченных людей. Если вы начинаете, я бы предложил инвестировать в следующее:

1.) Автоматизация установки Magento.
Настройте процесс 1 команда / щелчок, чтобы установить Magento, включая примеры данных. Инструменты, упомянутые для этого
n98-magerun
mage-ci
jumpstorm
или ваш собственный скрипт. Некоторые указатели можно найти здесь .

Идея этой части заключается в том, что вы можете создать новый экземпляр с повторяемыми настройками без особых усилий (в тот момент, когда вы приложите все усилия, вы станете колебаться / лениться создавать новый экземпляр).

2.) Разработайте и протестируйте с экземпляром, установленным в 1.).
При разработке я столкнулся с двумя направлениями мысли:
a.) Magento Core является частью вашего проекта.
Многие люди используют здесь modman, чтобы хранить свои файлы вне структуры папок Magento, поэтому обязательно проверьте это.
б.) Проект включает только файлы расширений / тем
И Phpstorm, и NetBeans позволяют вам развертываться при сохранении в указанном месте (ваша корневая папка Magento также может быть онлайн-экземпляром через FTP). Используя Magicento для Phpstorm, вы можете компенсировать недостатки этого подхода (намеки на классы, просмотр наследования, автозаполнение ...). Мне кажется, что если вы разрабатываете для одного конкретного клиента, вы бы выбрали 1.) с целевым Версия Magento установлена, и если вы намерены поддерживать несколько версий Magento, вы выбрали бы 2.)

3.) Поделитесь кодом с командой,
разверните в среде, где ваш код может быть протестирован в сочетании с работой ваших коллег

4.) Начните процесс QA / развертывания

Общее
использование распределенной системы управления версиями (git, mercurial, ...)
включает тесты ( модульные тесты , интеграцию ),
автоматизирующие то, что вы можете
читать много - следуйте за некоторыми из экспертов здесь, которые свободно делятся своими знаниями (проверьте их личные блоги / github). учетные записи). Чаще всего это сэкономит вам много времени, и вы научитесь быстрее, чем пытаться открыть все это самостоятельно.

Удачного кодирования!

Кристоф в Фуман
источник
Спасибо за ваш подробный ответ. Я ценю вклад в советы по разработке хорошего рабочего процесса. Я приму к сведению весь ваш вклад. Еще раз спасибо!
ryanF
13

Мне лично нравится:

  • все, что уже сказал Винай
  • Sourcetree, поддерживающий git-поток
  • mage-ci для быстрой установки новых magentos
  • Панель инструментов MGT Developer с несколькими исправлениями от меня (автоактивен и модман готов)
  • Ecomdev_PHPUnit для модульного тестирования (ветка разработчика!)
Фабиан Блехшмидт
источник
спасибо за ваши добавления в этот список! Очень крутые инструменты, предлагаемые здесь. Я также ценю ссылку на вашу улучшенную панель инструментов MGT Developer. Очень круто понять, что используют профессионалы отрасли.
ryanF
11

Я могу посоветовать следующие инструменты для разработки Magento.
1. PhpStorm - отличная и умная IDE для разработки PHP-приложений.
2. Плагин magicento для PhpStorm. Очень полезный плагин для автоматизации разработки Magento.
3. Панель отладки магазина Magento.
4. Расширенная панель инструментов разработчика для магазина Magento.

И отличные источники и ссылки здесь:
http://alanstorm.com/category/magento
http://inchoo.net/
http://magebase.com/category/magento-tutorials/
http://fishpig.co.uk/ блог /

mageUz
источник
Спасибо за предложение обратной связи. Кажется, что IDE PhpStorm является популярной в настоящее время, особенно с плагином Magicento. Я думаю, что плагины Magento (# 3 и # 4) действительно крутые. Что касается ссылок на учебные пособия, я уже сталкивался со всеми этими (спасибо, что подтвердили, что это хорошие источники!), И да, материал Алана Шторма для меня тоже самый лучший. Я также нашел серию Magento U 'Основы разработки Magento' очень хорошей (я только начал). Спасибо!
ryanF
8

Я бы добавил еще одну вещь в список:

Когда вы разрабатываете веб-сервисы для Magento, например, при использовании SOAP API, этот инструмент поможет вам легко выполнять запросы и писать повторяемые шаги для тестирования рабочих процессов (вход в систему, выборка заказов, получение сведений о первом заказе, создание счета-фактуры):

http://www.soapui.org/

mpaepper
источник
3

Еще одна совершенно новая панель инструментов / профилировщика для разработчиков, основанная на потрясающем веб-профилировщике Symfony и показывающая вам практически все: от отсутствующих переводов до запросов к базе данных и времени рендеринга отдельных блоков и т. Д.

https://github.com/ecoco/magento_profiler

Fantus
источник