call_user_func($_REQUEST['action']);
只需要透過call_user_func()就可以進行一般的控制,我們來完成整個流程:
$_REQUEST=array('controller'=>'Contacts','action'=>'edit');
$controller=new $_REQUEST['controller'];
call_user_func(array($controller,$_REQUEST['action']));
class Contacts
{
function edit()
{
echo 'complete';
}
}
$controller=new $_REQUEST['controller'];
call_user_func(array($controller,$_REQUEST['action']));
class Contacts
{
function edit()
{
echo 'complete';
}
}
完成!!不過還有很多安全的考量,所以不建議直接使用這個方式,因為使用者可以指定任何class,任何function。基於安全問題,請使用前為自已再進行一些封裝。
沒有留言:
張貼留言