如何制作 PHP 功能 restful 网络服务?

How to make PHP function restful web service?

我刚开始休息API。我有下面这个函数,我希望它可以从任何地方访问 returns HTML 数据。我在 PHP 5.6 中使用 Zend,请提出您的建议。

 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 错误。

如有任何帮助,我们将不胜感激。

兄弟,你需要先了解什么是休息 API 以及你需要它的目的是什么。此外,MySQL 不安全,您应该切换到 PDO 或 MySQLi。

休息 API 没什么特别的,它只是一个 AJAX 请求。我们将 JSON 数据发送到我们的 API 并且在我们的 API(PHP) 端我们对该数据设置了一些条件以使我们的 API 工作。如果你想从任何地方(不同的服务器、POSTMAN 等)发送 JSON 数据,你必须使用 CORS(跨源资源共享)。这样您的服务器将允许您从任何地方接受数据。您还必须制作身份验证密钥(访问令牌)。这样您就只能从具有有效访问令牌的受信任站点接收数据。

SIMPLE EXAMPLE WITH DEMO

我在回答中说过你需要跨源资源共享。为了告诉服务器这件事,我们使用一些代码让它知道我们允许来自我们自己服务器之外的请求的 CRUD 操作。有时我们只为自己制作 restful API 由于安全原因,没有服务器会允许任何人访问我们的网站。

在您的 restful API 顶部使用此代码以允许来自服务器以外任何地方的请求。

header("Access-Control-Allow-Origin: *");

在此处阅读有关 CORS 的更多信息