最近写一个项目后台用到php,我对php了解不深,只是用到了一些项目需要的简单的基本特性。在项目中,我觉得应该整一个类似路由的控制类,用来接收前台的请求,并分发到不同的业务类中处理,再将结果返回前台,我想很多框架中都有这样的思想。下面贴出我的代码,写得不是很好,欢迎高手们指出缺点。
文件命名为Controller.php
<?php
header("Content-type:text/html; charset=UTF-8");
session_start();
//前台必须抛的参数:
//class:需要调用的类(含有文件地址信息)
//action:需要调用的方法
//均返回json格式。
$class = $_POST["class"];
$action = $_POST["action"];
if (!empty($class) && !empty($action)) {
//包含相应的类文件
require_once ("$class" . ".php");
$temp = preg_split('[/]', $class);
$class = end($temp);
//生成类实例
$instance = new $class;
//根据action调用不同方法,均返回json格式
switch ($class) {
case "Show":
switch ($action) {
case "getUserInfo":
$jsonback = $instance->$action($_POST['account']);
break;
}
break;
case "Rank": //排名类
switch ($action) {
case "getAllRank": //获取所有排名
$jsonback = $instance->$action($_SESSION['account']);
break;
case "getRank": //获取用户排名,直接从session中获取
$jsonback = $instance->$action($_SESSION['account']);
break;
}
default:
break;
}
}
//返回json结果
echo $jsonback;
?>
$.post("Controller.php",{
'class': ,
'action': ,
'param': ,
},function(data){
},'json');