当前位置: 首页>>WEB开发>>正文


使用调试扩展/开发者模式足够的保护

webfans WEB开发 , , , 去评论

问题描述

Magento开发人员有一些很好的扩展,你通常不希望在实时系统上使用它们。

如何将它们保存在项目存储库中,但避免它们暴露在实体店中?

最佳解决思路

有两种相对较新的技术可以做到:

  • 使用modman,您将能够自己控制为每个环境部署的内容。这意味着您只在开发环境中运行modman deploy [name-of-dev-extension]

  • 对于不同的环境,请将magento-composer与不同的composer.json方案一起使用。更简单的方法是将这些扩展指定为dev-modules,然后使用开发计算机上的--require-dev开关安装项目。

次佳解决思路

通常可以通过配置标志方便地禁用它们,因此它们在技术上是活跃的但没有做任何事情。如果在实时系统的app/etc/local.xml中将此标志设置为false,则应该没问题。

第三种解决思路

见最近在柏林Magento Hackathon创建的MageTrashApp。允许您通过管理面板访问de-activate模块。

第四种思路

一种简单的方法是,禁用/etc /modules中的模块,推送它,在本地忽略该文件并再次启用它。

第五种思路

我认为解决这个问题的最佳方法是将所有这些模块保存在本地codePool中,并使用local.xml中的这一行禁用所有本地模块:

    <disable_local_modules>true</disable_local_modules>

或者您可以在实时环境的后端执行“禁用模块输出”。 (系统 – >配置 – >高级)。但是,这并不能完全禁用该模块。但也许它只是想要隐藏它。

我能想到的另一件事就是编写一些可以解决这个问题的代码。只需检查它是否处于开发人员模式(Mage::getIsDeveloperMode()),然后禁用模块。我在这里找到了更多有关实现这一目标的细节:https://stackoverflow.com/questions/6520634/magento-how-to-disable-module-programmatically

第六种思路

我通常只是将它们放入我的测试环境中,但不要将它们检入版本控制系统,例如使用.gitignore文件将它们排除在考虑提交之外。

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/2178.html,转载请务必附带本地址声明。