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

magento.stackexchange https://magento.stackexchange.com/questions/198

Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

Видеть Magetrashapp который был создан в Магенто -хакатоне в Берлине недавно. Позволяет вам деактивировать модули через панель администратора.

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

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

    <disable_local_modules>true</disable_local_modules>

Или вы можете сделать «Отключить вывод модуля» в бэкэнд в вашей живой среде. (System -> Configuration -> Advanced). Однако это не полностью отключает модуль. Но, может быть, этого достаточно, если вы хотите спрятаться.

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top