Существует ли IDE PHP, который может обработать кодовую базу Magento?

Magento имеет большую кодовую базу (6000 + php файлы), использует сложную логику с автозагрузкой и имеет много конфигурации в XML. Я ищу IDE, который может добраться, его небольшой мозг вокруг этой кодовой базы - показывают мне, где функция объявляется, где это называют и т.д. Есть ли какой-либо IDE, который может обработать этого зверя?

РЕДАКТИРОВАНИЕ - Добавляющие примеры

Вот пример того, как загрузить продукт Magento путь:

 $product = Mage::getModel('catalog/product')->load($productID)

Получение класса помощника выглядит подобным:

 $helper = Mage::getHelper('catalog/product')

Кроме того, методы считывания и методы set атрибутов часто принимаются из модели, которая, возможно, была объявлена в XML-файле где-нибудь, а не в коде.

11
задан Laizer 4 December 2012 в 20:58
поделиться

5 ответов

Вероятно, это не тот ответ, который вам нужен, но количество файлов, вероятно, не будет вашей фишкой. Поскольку Magento использует странные методы для создания экземпляров объектов ( Mage :: getModel и т.д.), нормальное завершение кода полностью затруднено. Вдобавок ко всему, Magento интенсивно использует волшебные функции PHP, которые, конечно, полностью освобождены от автозавершения кода.

Я работал с несколькими IDE, использующими Magento (Komodo, Zend Studio, Eclipse), и у меня никогда не было очень хороших результатов. Комодо был единственным, у кого не было коронарной попытки угадать, так что я использую это уже некоторое время.

Надеюсь, что это поможет. Спасибо!

Джо

14
ответ дан 3 December 2019 в 00:48
поделиться

Сам являюсь поклонником Netbeans. То, что вы ищете, это Class Type Hints, которые поддерживаются как Zend Studio, так и Nebeans. Magento медленно устанавливает их, но в коде есть некоторые случаи их использования.

http://files.zend.com/help/Zend-Studio-7/code_assist_concept.htm

 /* @var $myVar TestClass */
 $myVar = new getClass();
13
ответ дан 3 December 2019 в 00:48
поделиться

Если вы собираетесь использовать бесплатную среду IDE, Eclipse PDT будет работать нормально. Он может без проблем обрабатывать все эти файлы. Если вам нужна более полнофункциональная среда IDE, я бы выбрал Zend Studio. Zend Studio - это, по сути, Eclipse PDT с дополнительными функциями (такими как действительно хороший отладчик / профилировщик, встроенный в панель инструментов браузера, и улучшенное форматирование кода прямо из коробки).

7
ответ дан 3 December 2019 в 00:48
поделиться

Я использовал Netbeans для работы с большими проектами PHP (он также обрабатывает большие проекты Java и C). В моих текущих проектах CakePHP 35000 файлов, 4000-5000 из них - файлы PHP, включая внешние библиотеки и т. Д.

IDE некоторое время реагирует на запросы, но если вы оставите ее работать на ночь, IDE станет вялой, и вам придется перезапустить ее.

1
ответ дан 3 December 2019 в 00:48
поделиться

Это будет зависеть от двух факторов: интеллектуальности среды IDE (будет ли она распознавать все автоматически загружаемые классы?) И простой производительности (сколько времени потребуется среде IDE, чтобы пройти по дереву файлов для построения словаря поиска? Как часто он будет обновляться?)

Способность IDE обрабатывать такое количество файлов сильно зависит от того, как оборудована ваша машина. Я рекомендую вам ознакомиться с пробными версиями самых популярных PHP IDE и посмотреть, какая из них вам больше подходит. Должно быть довольно легко понять, можете ли вы с ними работать или нет.

Я работаю с phpEd Nusphere (14-дневная пробная версия здесь ). Я никогда не работал с такими большими проектами, но с большими, и меня устраивает функция поиска кода. Как, вероятно, большинство IDE, он позволяет вручную добавлять включения в случае пропуска автозагрузки.

Затем есть Zend Studio (загрузить здесь ) и Eclipse PDT ( здесь ) и многое другое, на что можно посмотреть в этот вопрос . Не все из них поддерживают автозавершение кода для PHP, поэтому вам придется выбрать те, которые это делают.

6
ответ дан 3 December 2019 в 00:48
поделиться