返回网页JSON的PHP rest API
我正在开发一个返回JSON响应的PHP restful API。这是当前本地移动应用程序消费(iOS/Android) 我的问题是,是否可以使用相同的RESTfulAPI进行网站消费?或者我需要支持restful API和JSON的HTML响应吗?如何从web服务获取JSON响应以显示为网页?或者我是否需要实现输出格式化程序作为框架的一部分,以便在需要时作为HTML响应返回网页JSON的PHP rest API,php,html,web-services,rest,Php,Html,Web Services,Rest,我正在开发一个返回JSON响应的PHP restful API。这是当前本地移动应用程序消费(iOS/Android) 我的问题是,是否可以使用相同的RESTfulAPI进行网站消费?或者我需要支持restful API和JSON的HTML响应吗?如何从web服务获取JSON响应以显示为网页?或者我是否需要实现输出格式化程序作为框架的一部分,以便在需要时作为HTML响应 我试图搜索这个问题的答案,但找不到任何有用的答案。您可以创建API,使用XSL构造HTML从XML返回XML和XML 这个链接
我试图搜索这个问题的答案,但找不到任何有用的答案。您可以创建API,使用XSL构造HTML从XML返回XML和XML 这个链接会很有帮助:
Emm。。。例如,作为理论,你可以这样做:
class MyOutput
{
const CTX_HTML = 1;
const CTX_JSON = 2;
//const CTX_XML = 3;
//const CTX_CLI = 4;
//const CTX_ETC = N;
private $_data = null;
public function __construct()
{
$this->_data = new StdClass();
}
public function __set($prop, $value)
{
$this->_data->{$prop} = $value;
}
public function render($context)
{
if ($context == self::CTX_JSON) {
header('Content-Type: application/json');
echo json_encode($this->_data);
} else {
header('Content-Type: text/html');
// TODO extract/pass data into layout/template
}
}
}
$Output = new MyOutput();
$Output->foo = 1;
$Output->bar = 2;
$Output->render(MyOutput::CTX_JSON);
$Output->render(MyOutput::CTX_HTML);
但我认为API应该放在分离的主机上。因为这是不同的应用程序。您可以使用ajax。关于这一点有很多问题。下面是其中之一:现在使用RESTAPI/json构建网站后端是相当标准的。看看各种JavaScript框架,它们将处理数据绑定、ajax等。