如何使PHP函数成为RESTfulWeb服务?
我不熟悉RESTAPI。我有下面这个函数,它返回HTML数据,我想从任何地方访问它。我正在使用Zend和PHP5.6,请给出您的建议如何使PHP函数成为RESTfulWeb服务?,php,ajax,rest,api,restful-url,Php,Ajax,Rest,Api,Restful Url,我不熟悉RESTAPI。我有下面这个函数,它返回HTML数据,我想从任何地方访问它。我正在使用Zend和PHP5.6,请给出您的建议 fheader('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET, POST'); header("Access-Control-Allow-Headers: X-Requested-With"); if ($_SERVER['REQUEST_METHO
fheader('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: X-Requested-With");
if ($_SERVER['REQUEST_METHOD'] == "GET") {
$db = MysqliDb::getInstance();
//$sq = "ct-head";
$db->where("slug","ct-head");
$db->orderBy('version', 'desc');
$template = $db->getOne("tbl_templates");
$result = $template['modhtml'];
echo $result;
} else if ($_SERVER['REQUEST_METHOD'] == "POST") {
echo "POST";
} else {
http_response_code(405);
}
我写过类似的东西,但如果我从其他系统访问它,它将返回CORS错误
任何帮助都将不胜感激。兄弟,您需要首先了解什么是rest API,以及您需要它的目的。此外,MySQL是不安全的,您应该切换到PDO或MySQLi RESTAPI并没有什么特别之处,它只是一个AJAX请求。我们将JSON数据发送到RESTAPI,在API(PHP)方面,我们对该数据设置了一些条件,以使API正常工作。如果您想从任何地方(不同的服务器、邮递员等)发送JSON数据,必须使用CORS(跨源资源共享)。这样,您的服务器将允许您从任何地方接受数据。您还必须创建和验证密钥(访问令牌)。因此,您只能从具有有效访问令牌的受信任站点接收数据 我在回答中说,您需要跨来源资源共享。为了告诉服务器这一点,我们使用一些代码让它知道,我们允许从我们自己的服务器之外的请求执行CRUD操作。有时,出于安全目的,我们只为自己制作restful API,任何服务器都不允许任何人访问我们的站点 在restful API的顶部使用此代码,以允许从服务器之外的任何位置发出请求
header("Access-Control-Allow-Origin: *");
阅读有关CORS的更多信息这里任何人都可以给我一个php中rest api的示例,以及我应该从哪里开始。rest与功能无关,只与如何将请求映射到功能有关。建议寻找低开销的实现。RESTAPI意味着它没有状态。在您的情况下,您需要从任何地方访问函数,该函数可能返回模板或json数据。您应该在url ie中使用它,通过调用该url,您的服务器必须执行此函数并返回结果。例如,如果您正在调用www.mydomain.com/api/my_函数,则需要获得结果。以这种方式进行配置。别忘了在这两者之间实现任何类型的身份验证机制。通过这个例子,我也很好地解释了我的问题。如果我从其他系统访问它,那就是一个名为CORS的错误。只需将它添加到API(PHP)的顶部即可。标题(“访问控制允许原点:”;好的,我如何使用POST方法以及如何从jquery调用。现在我使用的是GET方法。如果您有问题,请在新问题中更新您的API和jquery。如果您从ajax发送post请求,那么只需在PHP上使用$\u GET['post']即可接收数据。如果您使用的是AJAX的GET方法,那么您需要在API上使用$\u GET。如果您的代码有问题,请接受这个答案并提出一个新问题。谢谢