Использование расширений отладки/режима разработчика достаточная защита
Для разработчиков Magento есть несколько хороших расширений, которые вы обычно не хотите иметь в живой системе.
Как вы можете хранить их в репозитории проекта, но не показывать их в живом магазине?
7 answers
Для этого есть два относительно новых метода:
Используйте modman, чтобы вы могли самостоятельно контролировать, что развертывать для каждой среды. Это означает, что вы запускаете
modman deploy [name-of-dev-extension]
только в своей среде разработки.Используйте magento-composer с различными сценариями
composer.json
для разных сред. И еще более простой способ - указать эти расширения в качестве модулей разработки, а затем установить проект с помощью переключателя--require-dev
в вашей разработке машина.
Обычно их можно удобно отключить с помощью флага конфигурации, поэтому они технически активны, но ничего не делают. Если вы установите этот флаг в значение false в app/etc/local.xml
вашей операционной системы, с вами все будет в порядке.
Смотрите Приложение Magetrashapp, которое недавно было создано на хакатоне Magento в Берлине. Позволяет деактивировать модули через панель администратора.
Простой способ сделать это - отключить модуль в /etc/modules, нажать на него, игнорировать файл локально и включить его снова.
Я думаю, что лучший способ справиться с этим - либо сохранить все эти модули в локальном пуле кодов, либо отключить все локальные модули в режиме реального времени с помощью этой строки в вашем local.xml :
<disable_local_modules>true</disable_local_modules>
Или вы можете сделать "Отключить вывод модуля" в бэкэнде вашей рабочей среды. (Система - > Конфигурация -> Дополнительно). Однако это не полностью отключает модуль. Но, может быть, этого просто достаточно, чтобы хотеть, чтобы ты хотел это скрыть.
Единственное, что я могу придумать, это написать какой-нибудь код это может все провернуть. Просто проверьте, находится ли он в режиме разработчика (Mage::getIsDeveloperMode()
), а затем отключите модули. Я нашел более подробную информацию о достижении этого здесь: https://stackoverflow.com/questions/6520634/magento-how-to-disable-module-programmatically
Обычно я просто помещаю их в свою среду тестирования, но не проверяю их в системе контроля версий, например, используя файл .gitignore
, чтобы исключить их из рассмотрения для фиксации.
На конференции Imagine 2011 есть слайд Эрика Хансена. Он указал код на слайде, как показано ниже (для режима разработчика)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
Вот, Эрик включает настройку на основе поддоменов, которую вы можете настроить самостоятельно.