主要的脚本包括“模块”,这些模块为其添加功能。每个模块都设置如下:
<?php
//data collection stuff
//(...) approx 80 lines of code
//end data collection
$var1 = 'some data';
$var2 = 'more data';
$var3 = 'other data';
?>
每个模块都有相同的变量,只是数据收集不同。
我在想,是否将模块数据以这种方式存储到MySQL中是一个合理的想法:
[database]
|_modules
|_name
|_function (the raw PHP data from above)
|_description
|_author
|_update-url
|_version
|_enabled
你是否可以从数据库中获取PHP数据并执行它?比如,页面顶部有一个选项卡导航系统来显示每个模块的名称,在每个选项卡内部,页面内容将通过解析存储在数据库中的模块代码的function
部分来实现。
这样做的目的是为了节省代码空间(减少行数),方便更新,并根据enabled
选项包含/排除模块。许多其他Web应用程序也是这样工作的,我的一些也是如此。但我从未如此深入地考虑过这个问题。这种方法是否存在任何缺点或安全风险?