Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan rangka kerja Slim7 dalam php?
Slim7 ialah rangka kerja PHP ringan yang memfokuskan pada membina API RESTful dan aplikasi web. Berbanding dengan rangka kerja lain, Slim7 lebih ringkas dan mudah digunakan, dan menyediakan banyak fungsi yang mudah, seperti penghalaan, perisian tengah, pengendalian ralat, dsb. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Slim7 untuk membina aplikasi web mudah.
Sebelum anda bermula, anda perlu memastikan PHP7 dan ke atas dipasang pada pelayan anda. Anda juga perlu memasang Komposer (pengurus pakej PHP).
Masukkan arahan berikut dalam terminal untuk memasang rangka kerja Slim7:
composer require slim/slim:"^3.0"
Tunggu proses pemasangan selesai dalam direktori projek anda Cipta fail index.php dan tambah kod berikut:
require 'vendor/autoload.php'; $app = new SlimApp(); $app->get('/', function ($request, $response, $args) { $response->getBody()->write("Hello, Slim7!"); return $response; }); $app->run();
Anda boleh menguji aplikasi dengan melancarkan pelayan pembangunan PHP terbina dalam dalam terminal:
php -S localhost:8000
Masukkan http: // dalam localhost pelayar anda:8000 untuk melihat "Hello, Slim7!"
Slim7 menyediakan sistem penghalaan yang berkuasa yang membolehkan anda mentakrifkan URI yang diminta dan kod untuk mengendalikannya dengan mudah. Dalam kebanyakan kes, anda perlu mengendalikan jenis kaedah permintaan (contohnya, GET, POST, PUT atau DELETE) dan URI permintaan.
Buat fail route.php baharu dalam direktori projek anda dan tambahkan kod berikut:
$app->get('/books/{id}', function ($request, $response, $args) { $bookId = $args['id']; // 查询id为 $bookId 的书籍,并返回相关信息 $response->getBody()->write("Book $bookId's information."); return $response; });
Dalam contoh di atas, kami menentukan parameter URI {id} yang sepadan dengan penghalaan. Sebagai contoh, apabila pengguna mengakses http://localhost:8000/books/1, Slim7 akan menghantar 1 sebagai parameter kepada fungsi panggil balik.
Middleware ialah blok kod yang mengendalikan permintaan dan respons serta boleh mengubah suai permintaan HTTP dan objek respons untuk melaksanakan beberapa operasi tambahan. Sebagai contoh, anda boleh menulis perisian tengah yang menyemak sama ada pengguna mempunyai kebenaran untuk mengakses sumber tertentu.
Berikut ialah contoh cara menggunakan perisian tengah dalam Slim7:
$app->add(function ($request, $response, $next) { $response = $next($request, $response); $response->getBody()->write(' After'); return $response; }); $app->get('/', function ($request, $response) { $response->getBody()->write("Before "); return $response; });
Dalam contoh di atas, kami mentakrifkan perisian pra-pertengahan yang menambah "Sebelum" sebelum setiap rentetan permintaan ” dan “ Rentetan Selepas” akan ditambah selepas setiap permintaan.
Dalam Slim7 anda boleh menggunakan kaedah setErrorHandling untuk mengendalikan ralat dalam aplikasi anda. Berikut ialah contoh:
$app = new SlimApp(); // 程序出现错误,打印提示信息 $c = $app->getContainer(); $pdo = new PDO('', '', '', ''); $c['errorHandler'] = function ($c) use ($pdo) { return function ($request, $response, $exception) use ($pdo) { $response->getBody()->write("Something went wrong!"); return $response->withStatus(500); }; }; $app->run();
Dalam contoh di atas, kami telah mentakrifkan pengendali ralat yang mentakrifkan tindakan yang perlu diambil apabila aplikasi menghadapi ralat yang tidak dikendalikan iaitu mencetak "Sesuatu yang tidak kena" !" dan mengembalikan kod status HTTP 500.
Melalui artikel ini, anda telah mempelajari cara membina aplikasi web mudah menggunakan rangka kerja Slim7. Slim7 menyediakan banyak ciri berguna, termasuk penghalaan, perisian tengah dan pengendalian ralat, membolehkan anda membina aplikasi web berskala dan mudah diselenggara dalam PHP dengan cepat. Anda boleh mendapatkan butiran lanjut tentang rangka kerja dalam dokumentasi rasmi Slim.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan rangka kerja Slim7 dalam php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!