Konsep Utama:
post()
, dan put()
kaedah untuk membuat, mengemas kini, dan memadam rekod buku masing -masing. delete()
Memperkenalkan Slim:
Mulailah dengan memuat turun Slim. Contoh ini menggunakan gaya 5.3. Buat: index.php
<?php require "Slim/Slim.php"; $app = new Slim(); $app->get("/", function () { echo "<h1>Hello Slim World</h1>"; }); $app->run(); ?>
dalam penyemak imbas anda memaparkan "Hello Slim World". Slim Autoloads Fail yang diperlukan. Pembina tipis menerima konfigurasi (mis., index.php
, MODE
, TEMPLATES.PATH
). VIEW
Menetapkan persekitaran (pembangunan/pengeluaran), dan MODE
menentukan direktori templat. Pengendali paparan tersuai boleh menggantikan lalai TEMPLATES.PATH
. Contoh: Slim_View
<?php $app = new Slim(array( "MODE" => "development", "TEMPLATES.PATH" => "./templates" )); ?>
untuk memulakan permohonan. run()
Membina Perkhidmatan Perpustakaan:
Mari buat perkhidmatan pengurusan perpustakaan. Notorm memudahkan interaksi pangkalan data (memerlukan contoh PDO).
<?php require "NotORM.php"; $pdo = new PDO($dsn, $username, $password); // Replace with your database credentials $db = new NotORM($pdo); ?>
Buku Penyenaraian:
endpoint ini menyenaraikan semua buku dalam format 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) ...
membolehkan mengakses pembolehubah luaran dalam fungsi tanpa nama. Header Response ditetapkan kepada get()
, dan data buku dikodkan sebagai JSON. use
application/json
Dapatkan buku dengan id:
Parameter laluan
<?php // ... (previous code) ... $app->get("/book/:id", function ($id) use ($app, $db) { $app->response()->header("Content-Type", "application/json"); $book = $db->books()->where("id", $id); if ($data = $book->fetch()) { echo json_encode(array( "id" => $data["id"], "title" => $data["title"], "author" => $data["author"], "summary" => $data["summary"] )); } else { echo json_encode(array( "status" => false, "message" => "Book ID $id does not exist" )); } }); // ... (rest of the code) ...
. Untuk parameter pilihan tanpa hujah panggil balik yang jelas, gunakan :id
. /book(/:id)
func_get_args()
Memadam buku: Padam buku dengan id: Kaedah Kesimpulan: Artikel ini menunjukkan membina perkhidmatan web yang tenang dengan Slim. Pembangunan selanjutnya harus termasuk pengendalian ralat yang mantap dan pengesahan input. Kod sumber (tidak termasuk di sini) boleh didapati di GitHub (pautan tidak disediakan dalam teks asal). Bahagian Soalan Lazim dari teks asal ditinggalkan kerana ia memberikan maklumat asas yang tersedia melalui dokumentasi Slim. Atas ialah kandungan terperinci PHP Master | Menulis Perkhidmatan Web RESTful dengan Slim. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!post()
menambah, dan put()
mengemas kini buku: <?php
require "Slim/Slim.php";
$app = new Slim();
$app->get("/", function () {
echo "<h1>Hello Slim World</h1>";
});
$app->run();
?>
$app->request()->post()
dan $app->request()->put()
mengambil pos dan meletakkan data masing -masing. Untuk permintaan yang berasaskan pelayar, gunakan medan tersembunyi _METHOD
dengan nilai "letakkan" dalam bentuk anda. <?php
$app = new Slim(array(
"MODE" => "development",
"TEMPLATES.PATH" => "./templates"
));
?>
delete()
membuang rekod pangkalan data. Kaedah map()
mengendalikan pelbagai kaedah HTTP pada satu laluan (tidak ditunjukkan di sini).