【发布时间】:2015-12-12 22:23:47
【问题描述】:
我有一些包含一些 php 代码的类和方法。现在我想将这些 PHPcode 用于 ajax 和 http 请求。怎么样?
我是否应该将所有 PHP 代码编写两次? ajax 请求一次,http 请求一次?
这是我当前的结构:
/********************************************** Search.php ****/
... // some html codes
<div id="content">
<?php
if(!empty($_SERVER["HTTP_X_REQUESTED_WITH"]) &&
strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) === "xmlhttprequest")
{
$type = true; // true means ajax request
} else {
$type = false; // false means http request
}
$obj = new classname;
$results = obj->func($type);
echo $results;
?>
</div>
... // some html codes
/********************************************** Classname.php ****/
class classname {
public function func($type){
$arr = ('key1'=>'some', 'kay2'=>'data');
if ($type){
echo json_encode($arr);
} else {
return $arr;
}
}
}
现在我想知道,这是标准吗?实际上,我也想将它用于来自移动应用程序(类似于 API)的请求。我认为上面的代码有两个问题:
- 会有很多 IF 语句仅用于检测请求类型(在每个方法中)
- 只有一个文件 (class.php) 用于 ajax 和 http 请求。当我通过例如移动设备发送 ajax 请求时,它会处理一些根本不需要的代码
嗯,有什么我需要知道的吗?
【问题讨论】:
-
你是什么意思:“现在我想将这些 PHPcodes 用于 ajax 和 http 请求”?
-
@BobvanLuijt 我想知道,我是否应该编写两次 php 代码以将其用于 ajax 和 http 请求?或者我可以编写一次(php代码)并将其用于两个请求吗?换句话说,我的方法(问题中提到)是一种正常/标准的方式?
-
如果您想了解我的答案的更多信息,请告诉我。