Использование расширений отладки / режима разработчика достаточно защиты
-
16-10-2019 - |
Вопрос
Есть несколько хороших расширений для разработчиков 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;
}
Вот, Эрик включает настройку на основе субдоменов, которые вы можете настроить его самостоятельно.