我在社交网站上从事网站后端工作,这需要一些沉重的ajax帖子。我希望代码是正确的OOP,并在以后易于维护/更新。我当前的想法是让我的ajax帖子调用一个专用的php脚本,该脚本然后查找发出的请求类型,并在单独的类中调用适当的函数。但是,我发现的唯一好的解决方案是使用开关盒,短时间后看起来确实很混乱。
这是总体思路:
Ajax调用
$('#signup').click(function(){
$.ajax({
type: "POST",
url: "liber/signup",
processData:false,
contentType: "application/json",
data: '{"email": "' + $("#email").val() + '", "password": "' + $("#password").val() + '"}',
success:function(r){
},error:function(r){
}
});
});
php称为:
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$url = $_GET['url'];
switch($url)
{
case "signup":
Commands::SignUp();
break;
default:
break;
}
}
“命令”类中的功能示例:
public static function Signup()
{
$postbody = file_get_contents("php://input");
if(UserCredentials::InsertNewUser($postbody))
{
$token = "account created";
echo '{"token": "'.$token.'"}';
http_response_code(200);
}else{
$token = "No account created";
echo '{"token": "'.$token.'"}';
http_response_code(200);
}
}
“ Commands”类负责实际的http_response_code,并将结果回送给ajax,调用正确的类/函数,以根据php中原始开关的情况调用什么函数。
但是,正如我提到的那样:这很快变得非常混乱。尤其是在装有数百个不同案例的交换案例中。 php专家的任何好的技巧可能会使它更优化,并且从长远来看更易于维护?由于大多数功能都是基于类的,并且易于重用,因此我无需重写php的主要部分。