通过MySQL数据库包含PHP代码(模块),好主意?
问题描述:
主要脚本包括为其添加功能的“模块”。每个模块设置如下:通过MySQL数据库包含PHP代码(模块),好主意?
<?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
选项的模块。这是多少其他网络应用程序的工作,也有我自己的一些。但我从未想过如此深刻。这是否有任何缺点或安全风险?
答
我不认为这有一个硬性和快速的答案。您所描述的方法将有利于某些应用程序,通常是小型网站,例如博客网站。
藏在心里的服务器上的文件会因读取服务器上的文件,而不是从数据库retrieveing他们所花费的时间较大的应用程序中受益的传统方式。
所以它真的取决于你想要实现的目标。
答
我会建议反对。其中一个缺点是代码不能被操作码缓存(例如, APC。此外,在版本控制系统中管理代码并不那么容易。后来当你想要进行单元测试,持续集成测试等时,它也会变得更麻烦。