首页 >后端开发 >php教程 >PHP主|用Slim编写一个安静的Web服务

PHP主|用Slim编写一个安静的Web服务

Lisa Kudrow
Lisa Kudrow原创
2025-02-26 09:13:10642浏览

PHP Master | Writing a RESTful Web Service with Slim

>该站点点系列探索了REST原理。 本文展示了使用Slim(由Sinatra(Ruby))启发的PHP微型框架的Slim构建一个安息的Web服务。 Slim的轻质性质,具有核心组件,例如路由,请求/响应处理和最少的视图支持,使其非常适合简单的REST API。

密钥概念:

Slim是PHP Micro-Framework,非常适合直接的静止服务,支持PHP 5.2和程序和(5.3)功能编程样式。
    >将uris映射到特定HTTP方法的回调函数。 Slim有效地处理同一URI的多种方法。
  • >图书馆管理应用程序示例通过Web服务呼叫显示列表,添加,删除和更新书籍详细信息。 Notorm,轻质的PHP数据库库,处理数据库交互。
  • >
  • 端点使用
  • >分别用于创建,更新和删除书籍记录的方法。post() put() delete()
  • 介绍Slim:

首先下载Slim。 此示例使用5.3样式。创建

>在浏览器中访问index.php显示“ Hello Slim World”。纤细的自动加载必要的文件。 纤细的构造函数接受配置(例如,

<code class="language-php"><?php
require "Slim/Slim.php";

$app = new Slim();

$app->get("/", function () {
    echo "<h1>Hello Slim World</h1>";
});

$app->run();
?></code>
)。

设置环境(开发/生产),并指定模板目录。 自定义视图处理程序可以替换默认index.php。示例:MODE TEMPLATES.PATH VIEW路线创建至关重要。 路由将URI映射到基于HTTP方法的回调函数。 Slim优先考虑第一个匹配路线;无与伦比的请求导致404错误。 定义路由后,呼叫MODE启动应用程序。TEMPLATES.PATH> Slim_View

构建图书馆服务:
<code class="language-php"><?php
$app = new Slim(array(
    "MODE" => "development",
    "TEMPLATES.PATH" => "./templates"
));
?></code>
>

>让我们创建一个库管理服务。 notorm简化了数据库的交互(需要一个PDO实例)。run()>

列表书籍:

此端点以JSON格式列出所有书籍:

<code class="language-php"><?php
require "NotORM.php";

$pdo = new PDO($dsn, $username, $password); // Replace with your database credentials
$db = new NotORM($pdo);
?></code>

手柄获取请求。 >允许在匿名函数中访问外部变量。响应标头设置为

,并将书籍数据编码为JSON。

获取书籍详细信息:
<code class="language-php"><?php
// ... (previous code) ...

$app->get("/books", function () use ($app, $db) {
    $books = array();
    foreach ($db->books() as $book) {
        $books[] = array(
            "id" => $book["id"],
            "title" => $book["title"],
            "author" => $book["author"],
            "summary" => $book["summary"]
        );
    }
    $app->response()->header("Content-Type", "application/json");
    echo json_encode($books);
});
// ... (rest of the code) ...</code>

get()>通过ID检索一本书:use application/json

路由参数

传递给回调函数。 可选参数使用。 对于无明确回调参数的可选参数,请使用> 在

post()添加,put()更新书籍:>

<code class="language-php"><?php
require "Slim/Slim.php";

$app = new Slim();

$app->get("/", function () {
    echo "<h1>Hello Slim World</h1>";
});

$app->run();
?></code>

>和$app->request()->post()>检索帖子并分别放置数据。 对于基于浏览器的PUT请求,请使用隐藏的字段$app->request()->put(),并在您的表单中使用值“ put”。> _METHOD

删除书籍:

删除一本书:

方法删除了数据库记录。 该方法在单个路线上处理多个HTTP方法(此处未显示)。
<code class="language-php"><?php
$app = new Slim(array(
    "MODE" => "development",
    "TEMPLATES.PATH" => "./templates"
));
?></code>

结论: delete() map()>本文展示了使用Slim建立基本的Restful Web服务。 进一步的开发应包括可靠的错误处理和输入验证。 源代码(此处不包括)可以在GitHub上找到(原始文本中未提供链接)。 原始文本的常见问题解答部分被省略,因为它可以通过Slim的文档提供基本信息。

以上是PHP主|用Slim编写一个安静的Web服务的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn