我正在制作一种 CMS 系统,该系统在网页的各个部分中工作,并将每个部分作为不同的条目存储到 MySQL 数据库的表中。当用户第一次设置页面时,PHP 脚本调用一个名为addsection($name, $content)
将该部分添加到数据库中。然而,为了使这个系统更加灵活,所以它不使用静态部分,我希望能够将函数更改为addsection($name, function)
,您可以在其中为参数提供一个函数function
。有什么方法可以将此函数或函数名称存储在数据库中,然后在代码需要获取部分文本时调用它吗?如果没有,我能做什么呢?我用来获取该部分内容的函数很简单section($name)
.
另外,如果之前未查看过当前页面且不使用文件或任何内容,是否有人知道重定向到另一个页面的简单方法?
您可以使用变量函数(http://php.net/manual/en/functions.variable-functions.php).
$r = mysql_query("SELECT method FROM method_table WHERE id = 2");
$row = mysql_fetch_assoc($r);
$func = $row['method'];
$func($parameter); //will execute whatever method you stored in the `method` field
通过这种方式,您可以执行名称存储在数据库中的函数。如果您想在对象的上下文中执行它(因此method
),你可以这样做: $this->$func($parameter);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)