从用户界面上传 zf2 模块(类似于 wordpress 插件上传/安装)


Upload a zf2 module from user interface (similar to wordpress plugin upload/installation)

我需要从管理面板界面上的表单上传上传 ZF2 模块。

前任:

(它基本上应该像WordPress插件上传/安装一样工作)。

我有一个使用默认模板的模块博客。我们希望用户能够上传一个 ZF2 模块,该模块将允许访问新模板(具有自己的表单/字段、操作、js、img 等)。模块已经创建并工作(现在需要手动创建数据库,并且需要在application.config.php中手动注册模块)

当用户上传模块时,它应该:

  • 初始化一个脚本,该脚本将创建适合其模块的表(我想这没有问题)。

  • 在 application.config.php(模块数组)中注册模块。可能吗?

它还应该能够删除表(没有问题)并在删除时从 application.config 中删除模块.php。

那么可能吗?如何在 application.config.php 中动态注册模块?我应该从.rar上传模块还是从其他上传模块?

另一件事是模块应该被加密(作为完整的网站),以便用户无法访问其内容(出于保密原因)。所以我想我以后将不得不管理它,希望这没什么大不了的!但是让我们先关注第一部分...

欢迎任何提示!

我希望我已经足够清楚了。

您不想动态编辑应用程序配置,这会给您带来很多麻烦。

实现此目的的一个合理方法是构建一个模块,该模块获取 ModuleManager 并注册"插件"模块(具有适当的检查和异常处理)。我从未使用过注册模块 POST-init,所以我不确定它是否可能或它会带来什么样的头痛,但您肯定希望在与实际应用程序本身分开的 init 循环中"插件"模块。

据我所知,就您的加密而言,这是无法做到的。PHP 不是编译语言,因此,您必须提供源代码才能运行应用程序。即使像将模块滚动到 .phar 文件这样的事情也只会掩盖源代码,但它仍然可供任何人查看。