php 如何通过url参数来访问类,类似于struts2的action调用。

例如url='http://..../index.php?action=baseAction',通过参数baseAction,我就调用class
baseAction.php中的类来处理请求。

用这种方式,最好的办法是写一个统一的入口文件来处理请求参数
// 常量-- 你的网站action路径
AC_ROOT = '../'
// 处理类
$action = $_REQUEST['action'] ? $_REQUEST['action'] : 'indexAction';
// 处理方法
$method =$_REQUEST['method'] ? $_REQUEST['method']: 'index';
// 查看类是否存在
$actoinfile = AC_ROOT . $action . '.php';
if(file_exists($actoinfile))
{
// 如果存在
require_once($actoinfile);
// 获取此类的对象
$obj = new $action ();
// 查看处理函数是否存在
if (!method_exists($obj , $method)) {
// 方法不存在返回错误
}
// 进入处理流程
$obj->{$method}();
} else {
// 类不存在 返回错误
}
建议: 你可以看看 Thinkphp 等框架 的入口处理方法, 对你应该很有帮助.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-18
$action = isset($_REQUEST['act']) ? $_REQUEST['act'] : die();
$actionName = $action . 'Action';
$obj = new $actionName;
$obj->exec();
第2个回答  2011-10-18
if(action==baseAction)
{
dosomething
}
第3个回答  2011-10-18
if(action==baseAction)
{
function classbaseAction(){

}
}
相似回答