Usando extensiones de depuración / modo de desarrollador suficiente protección
-
16-10-2019 - |
Pregunta
Hay algunas extensiones agradables para los desarrolladores de Magento que generalmente no desea tener en un sistema en vivo.
¿Cómo puede mantenerlos en el repositorio del proyecto, pero evite que estén expuestos en un taller en vivo?
Solución
Hay dos técnicas relativamente nuevas para hacerlo:
Usar Modman Por lo tanto, podrá controlar usted mismo qué implementar para cada entorno. Esto significa que corres
modman deploy [name-of-dev-extension]
Solo en su entorno de desarrollo.Usar magento-compositor con diferente
composer.json
Escenarios para diferentes entornos. E incluso la forma más fácil es especificar esas extensiones como modules de desarrollo y luego instalar el proyecto utilizando el--require-dev
Enciende tu máquina de desarrollo.
Otros consejos
Los que generalmente se pueden deshabilitar convenientemente con un indicador de configuración, por lo que técnicamente son activos pero no hacen nada. Si configura este indicador en falso en app/etc/local.xml
De su sistema en vivo, debería estar bien.
Ver Magetrashapp que fue creado en el Magento Hackathon en Berlín recientemente. Le permite desactivar módulos a través del panel de administración.
Una forma simple de hacerlo es deshabilitar el módulo en /etc /módulos, presionarlo, ignorar el archivo localmente y habilitarlo nuevamente.
Creo que la mejor manera de lidiar con esto es mantener todos esos módulos en el codepool local y deshabilitar todos los módulos locales en vivo con esta línea en su local.xml:
<disable_local_modules>true</disable_local_modules>
O puede hacer "Desactivar la salida del módulo" en el backend en su entorno en vivo. (Sistema -> Configuración -> Avanzado). Sin embargo, esto no deshabilita por completo el módulo. Pero tal vez sea suficiente de que quieras esconderte.
Lo único que puedo pensar es escribir algún código que pueda lograr esto. Simplemente verifique si está en modo de desarrollador (Mage::getIsDeveloperMode()
) y luego deshabilitar los módulos. Encontré algunos detalles más sobre cómo lograr esto aquí: https://stackoverflow.com/questions/6520634/magento-how-to-disable-module-programatáticamente
Por lo general, solo los pongo en mi entorno de prueba, pero no los revise en el sistema de control de versiones, por ejemplo, utilizando el .gitignore
Archivo para excluirlos de ser considerados para comprometerse.
Hay una diapositiva en la conferencia Imagine 2011 de Erik Hansen. Dijo un código en la diapositiva que está a continuación (para el modo de desarrollador)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
Aquí está, Erik habilita una configuración basada en los subdominios que puede personalizarlo usted mismo.