首頁 > 後端開發 > php教程 > PHP主|用Slim編寫一個安靜的Web服務

PHP主|用Slim編寫一個安靜的Web服務

Lisa Kudrow
發布: 2025-02-26 09:13:10
原創
639 人瀏覽過

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”。纖細的自動加載必要的文件。 纖細的構造函數接受配置(例如,

<?php
require "Slim/Slim.php";

$app = new Slim();

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

$app->run();
?>
登入後複製
登入後複製
)。

設置環境(開發/生產),並指定模板目錄。 自定義視圖處理程序可以替換默認index.php。示例:MODE TEMPLATES.PATH VIEW路線創建至關重要。 路由將URI映射到基於HTTP方法的回調函數。 Slim優先考慮第一個匹配路線;無與倫比的請求導致404錯誤。 定義路由後,呼叫MODE啟動應用程序。 TEMPLATES.PATH> Slim_View

構建圖書館服務:
<?php
$app = new Slim(array(
    "MODE" => "development",
    "TEMPLATES.PATH" => "./templates"
));
?>
登入後複製
登入後複製
>

>讓我們創建一個庫管理服務。 notorm簡化了數據庫的交互(需要一個PDO實例)。 run()>

列表書籍:

此端點以JSON格式列出所有書籍:

<?php
require "NotORM.php";

$pdo = new PDO($dsn, $username, $password); // Replace with your database credentials
$db = new NotORM($pdo);
?>
登入後複製

手柄獲取請求。 >允許在匿名函數中訪問外部變量。響應標頭設置為

,並將書籍數據編碼為JSON。

獲取書籍詳細信息:
<?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) ...
登入後複製

get()>通過ID檢索一本書:use application/json

路由參數

傳遞給回調函數。 可選參數使用。 對於無明確回調參數的可選參數,請使用> 在

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

<?php
require "Slim/Slim.php";

$app = new Slim();

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

$app->run();
?>
登入後複製
登入後複製

>和$app->request()->post()>檢索帖子並分別放置數據。 對於基於瀏覽器的PUT請求,請使用隱藏的字段$app->request()->put(),並在您的表單中使用值“ put”。 > _METHOD

刪除書籍:

刪除一本書:

方法刪除了數據庫記錄。 該方法在單個路線上處理多個HTTP方法(此處未顯示)。
<?php
$app = new Slim(array(
    "MODE" => "development",
    "TEMPLATES.PATH" => "./templates"
));
?>
登入後複製
登入後複製

結論: delete() map()>本文展示了使用Slim建立基本的Restful Web服務。 進一步的開發應包括可靠的錯誤處理和輸入驗證。 源代碼(此處不包括)可以在GitHub上找到(原始文本中未提供鏈接)。 原始文本的常見問題解答部分被省略,因為它可以通過Slim的文檔提供基本信息。

以上是PHP主|用Slim編寫一個安靜的Web服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板