Использование расширений отладки/режима разработчика достаточная защита


Для разработчиков Magento есть несколько хороших расширений, которые вы обычно не хотите иметь в живой системе.

Как вы можете хранить их в репозитории проекта, но не показывать их в живом магазине?

Author: 7ochem, 2013-01-25

7 answers

Для этого есть два относительно новых метода:

  • Используйте modman, чтобы вы могли самостоятельно контролировать, что развертывать для каждой среды. Это означает, что вы запускаете modman deploy [name-of-dev-extension] только в своей среде разработки.

  • Используйте magento-composer с различными сценариями composer.json для разных сред. И еще более простой способ - указать эти расширения в качестве модулей разработки, а затем установить проект с помощью переключателя --require-dev в вашей разработке машина.

 20
Author: user487772, 2013-09-18 19:12:53

Обычно их можно удобно отключить с помощью флага конфигурации, поэтому они технически активны, но ничего не делают. Если вы установите этот флаг в значение false в app/etc/local.xml вашей операционной системы, с вами все будет в порядке.

 10
Author: Fabian Schmengler, 2013-01-25 09:08:56

Смотрите Приложение Magetrashapp, которое недавно было создано на хакатоне Magento в Берлине. Позволяет деактивировать модули через панель администратора.

 6
Author: Karen Baker, 2013-02-10 07:02:17

Простой способ сделать это - отключить модуль в /etc/modules, нажать на него, игнорировать файл локально и включить его снова.

 5
Author: Toon Van Dooren, 2013-01-25 09:04:33

Я думаю, что лучший способ справиться с этим - либо сохранить все эти модули в локальном пуле кодов, либо отключить все локальные модули в режиме реального времени с помощью этой строки в вашем local.xml :

    <disable_local_modules>true</disable_local_modules>

Или вы можете сделать "Отключить вывод модуля" в бэкэнде вашей рабочей среды. (Система - > Конфигурация -> Дополнительно). Однако это не полностью отключает модуль. Но, может быть, этого просто достаточно, чтобы хотеть, чтобы ты хотел это скрыть.

Единственное, что я могу придумать, это написать какой-нибудь код это может все провернуть. Просто проверьте, находится ли он в режиме разработчика (Mage::getIsDeveloperMode()), а затем отключите модули. Я нашел более подробную информацию о достижении этого здесь: https://stackoverflow.com/questions/6520634/magento-how-to-disable-module-programmatically

 3
Author: Rick Kuipers, 2017-05-23 12:37:12

Обычно я просто помещаю их в свою среду тестирования, но не проверяю их в системе контроля версий, например, используя файл .gitignore, чтобы исключить их из рассмотрения для фиксации.

 3
Author: mpaepper, 2013-01-25 11:45:52

На конференции Imagine 2011 есть слайд Эрика Хансена. Он указал код на слайде, как показано ниже (для режима разработчика)

# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
   $_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}

Вот, Эрик включает настройку на основе поддоменов, которую вы можете настроить самостоятельно.

 1
Author: Oğuz Çelikdemir, 2013-01-26 12:42:17