我甚至不确定这是否可行,但基本上我想在我的MySQL数据库中存储一个函数,所以这里有我的数据库
Database->pages:
[id] [name ] [content ] [enabled] [main] [parent]
[6 ] [login] [login();] [1 ] [0 ] [5 ]
现在我将恢复设置
public function viewPage() {
global $db;
$query = <<<SQL
SELECT content
FROM pages
WHERE id = :getid
SQL;
$resource = $db->sitedb->prepare( $query );
$resource->execute( array (
':getid' => $_GET['id'],
));
foreach($resource as $row){
echo $row['content'];
}
}
最后但并非最不重要的是我的viewPage.php页面有
$static->viewPage();
所以当我去viewPage.php?id = 6时我想要它来提取数据,因为内容是login();我希望它调用login();将被翻译成包含文件的函数。这甚至可能吗?
答案 0 :(得分:5)
您可以使用variable functions来达到此效果。我们需要事先验证函数is_callable
。
我们假设我们将字段name
设置为login
后退一行。你可以这样做:
if( is_callable($row['name']) )
$row['name']();
这将调用函数login
。如果需要,您也可以传递参数,就像任何其他函数一样。