最近寫一個項目後臺用到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');