Slim framework là gì

Giới thiệu

Sllặng là 1 trong framework nhỏ tuổi, khôn cùng nhẹ của PHPhường. giúp cho bạn lập cập viết các vận dụng web với API dễ dàng và đơn giản nhưng trẻ trung và tràn đầy năng lượng. Nó sẽ lập cập biến chuyển PHP.. framework được chọn lựa các tuyệt nhất để cải cách và phát triển API cùng những ứng dụng website nhỏ tuổi.Mặc mặc dù chúng ta có thể tạo ra REST API vào một số trong những framework khác như Laravel, CakePHPhường, Symfony, Codeigniter, ... nhưng mà chúng cần phải có không ít cố gắng nỗ lực new có thể học được và hay quá xuề xòa nhằm thực hiện trong các dự án công trình đề xuất phát triển nhanh.

Bạn đang xem: Slim framework là gì

*

Slyên hỗ trợ toàn bộ các cách thức HTTP (GET, POST, PUT, DELETE). Slim gồm cấu trúc URL hết sức tiện nghi với những route, middlewares, bodyparser với page templates, flash message, encrypted cookie, ...

Cài đặt

Trước tiên bọn họ sẽ cần được thiết lập Slim framework mang lại dự án công trình REST API.

Step 1: Cài đặt Slim Framework tự Composer

Chạy lệnh này tại thư mục mà bạn muốn thiết lập vận dụng Slyên Framework.

composer create-project slim/slim-skeleton Ttuyệt cố gắng bởi tên thỏng mục của doanh nghiệp.Để chạy ứng dụng vào quá trình cải tiến và phát triển, bạn có thể chạy lệnh này:

composer startChạy http://localhost:8080 các bạn sẽ thấy bối cảnh của Slim3.

Xem thêm: Đàn Ông Thích Ngoại Hình Phụ Nữ Như Thế Nào, Đàn Ông Thích Phụ Nữ Ăn Mặc Như Thế Nào

*

Step 2: Kết nối database

Slyên ổn ko đi kèm với cùng 1 ứng dụng kết nối đại lý tài liệu của riêng nó. Quý Khách hoàn toàn có thể thực hiện ngẫu nhiên bộ chế độ kết nối cơ sở tài liệu mà bạn muốn. Hôm ni vào vận dụng test, mình vẫn sử dụng MYSQL.Mình sẽ demo 1 database gồm bảng library (thư viện sách):

1. Tạo bảng.

CREATE TABLE IF NOT EXISTS `library` ( id int(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY UNIQUE, book_name varchar(100) NOT NULL, book_isbn varchar(100) NOT NULL, book_category varchar(100) NOT NULL) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;2. Kết nối Slyên ổn với database

Mởf ile src/settings.php của người sử dụng và cài đặt cơ sở dữ liệu của doanh nghiệp bằng phương pháp thêm code dưới đây:

// Database connection settings "db" => < "host" => "locahost", "dbname" => "your-database-name", "user" => "your-mysql-user", "pass" => "your-mysql-password" >,Bây tiếng mngơi nghỉ file src/dependencies.php của bạn với thông số kỹ thuật thư viện cơ sở dữ liệu. Có không ít thư viện các đại lý dữ liệu gồm sẵn mang đến PHP, tuy nhiên ví dụ này áp dụng PDO - đấy là tlỗi viện có sẵn vào PHPhường. theo chuẩn chỉnh do vậy nó khôn xiết có lợi trong những dự án, hoặc bạn có thể áp dụng thỏng viện của riêng chúng ta.Trong đoạn code dưới đây, bọn họ vẫn ckém đối tượng người sử dụng cửa hàng dữ liệu vào container bằng cách áp dụng dependency injection, trong ngôi trường đúng theo này được Call là db:

// PDO database library $container<"db"> = function ($c) $settings = $c->get("settings")<"db">; $pdo = new PDO("mysql:host=" . $settings<"host"> . ";dbname=" . $settings<"dbname">, $settings<"user">, $settings<"pass">); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); return $pdo;;

Step 3: Viết API

Setup những trang bị đầy đủ rồi, hiện thời là cơ hội để chúng ta liên quan API. Chúng ta sẽ tiến hành Điện thoại tư vấn các API sau đây:

MethodURLAction
GET/booksLấy danh sách tư liệu trong tlỗi viện
GET/book/1Lấy tư liệu bao gồm id == 1
POST/bookThêm new tài liệu
PUT/book/1Cập nhật tài liệu có id == 1
DELETE/book/1Xóa tư liệu tất cả id == 1

1. Lấy list tài liệu

$app->get("/books", function (Request $request, Response $response, array $args) $db = $this->db->prepare("SELECT * FROM library ORDER BY book_id"); $db->execute(); $books = $db->fetchAll(); return $response->withJson($books););Hàm này dễ dàng là trả về tất cả các công bố cần thiết như các bạn thấy vào truy tìm vấn này. Để Điện thoại tư vấn API này sử dụng URL: http://localhost:8080/books.Để thao tác với các API, tôi khuim chúng ta nên đề nghị thực hiện Postman (gồm sẵn từ bỏ Chrome App Store). Plugin này khôn xiết có ích vào vấn đề quản lý với thực hiện API.

Demo:

*

2. Lấy một tài liệu

Chúng ta sẽ tạo ra một route mới nhằm lúc người tiêu dùng truy cập /book/id, nó đang trả về một tài liệu sống format JSON.

// Retrieve book with id $app->get("/book/", function (Request $request, Response $response, array $args) $db = $this->db->prepare("SELECT * FROM library WHERE book_id = :id"); $db->bindParam("id", $args<"id">); $db->execute(); $book = $db->fetchObject(); return $this->response->withJson($book); );Demo:

*

3. Thêm bắt đầu tài liệu

Chúng ta sẽ khởi tạo một route mới nhằm lúc người dùng gửi một tận hưởng post lên /book cùng với dữ liệu quan trọng, ứng dụng đang thêm một bạn dạng ghi mới vào đại lý dữ liệu.

Xem thêm: Hướng Dẫn Cách Thức Chơi Xổ Số Vietlott Dễ Trúng Tiền Tỉ Nhất

// Add a new book $app->post("/book", function (Request $request, Response $response) $đầu vào = $request->getParsedBody(); $sql = "INSERT INTO library (`book_name`, `book_isbn`, `book_category`) VALUES (:bookName, :bookIsbn, :bookCategory)"; $db = $this->db->prepare($sql); $db->bindParam("bookName", $input<"book_name">); $db->bindParam("bookIsbn", $input<"book_isbn">); $db->bindParam("bookCategory", $input<"book_category">); $db->execute(); $input<"id"> = $this->db->lastInsertId(); return $this->response->withJson($input); );Mngơi nghỉ Postman và cliông xã Body. Chon x.www-form-urlencoded rồi thêm các params vào thông qua method POST.Demo:

*

4. Cập nhật tài liệu

// Update book with given id $app->put("/book/", function (Request $request, Response $response, array $args) $đầu vào = $request->getParsedBody(); $sql = "UPDATE library SET book_name=:bookName, book_isbn = :bookIsbn, book_category = :bookCategory WHERE id=:id"; $db = $this->db->prepare($sql); $db->bindParam("bookName", $input<"book_name">); $db->bindParam("bookIsbn", $input<"book_isbn">); $db->bindParam("bookCategory", $input<"book_category">); $db->bindParam("id", $args<"id">); $db->execute(); $input<"id"> = $args<"id">; return $this->response->withJson($input); );Demo:

*

5. Xóa tài liệu

// DELETE a book with given id $app->delete("/book/", function (Request $request, Response $response, array $args) $sth = $this->db->prepare("DELETE FROM library WHERE id=:id"); $sth->bindParam("id", $args<"id">); $sth->execute(); return $this->response->withJson(); );Demo:

*

Đây là file src/routes.php ở đầu cuối hoàn chỉnh:

get("/books", function (Request $request, Response $response, array $args) $db = $this->db->prepare("SELECT * FROM library ORDER BY book_id"); $db->execute(); $books = $db->fetchAll(); return $this->response->withJson($books););// Retrieve sầu book with id $app->get("/book/", function (Request $request, Response $response, array $args) $db = $this->db->prepare("SELECT * FROM library WHERE book_id = :id"); $db->bindParam("id", $args<"id">); $db->execute(); $book = $db->fetchObject(); return $this->response->withJson($book); );// Add a new book $app->post("/book", function (Request $request, Response $response) $input đầu vào = $request->getParsedBody(); $sql = "INSERT INTO library (`book_name`, `book_isbn`, `book_category`) VALUES (:bookName, :bookIsbn, :bookCategory)"; $db = $this->db->prepare($sql); $db->bindParam("bookName", $input<"book_name">); $db->bindParam("bookIsbn", $input<"book_isbn">); $db->bindParam("bookCategory", $input<"book_category">); $db->execute(); $input<"id"> = $this->db->lastInsertId(); return $this->response->withJson($input); );// Update book with given id $app->put("/book/", function (Request $request, Response $response, array $args) $input đầu vào = $request->getParsedBody(); $sql = "UPDATE library SET book_name=:bookName, book_isbn = :bookIsbn, book_category = :bookCategory WHERE id=:id"; $db = $this->db->prepare($sql); $db->bindParam("bookName", $input<"book_name">); $db->bindParam("bookIsbn", $input<"book_isbn">); $db->bindParam("bookCategory", $input<"book_category">); $db->bindParam("id", $args<"id">); $db->execute(); $input<"id"> = $args<"id">; return $this->response->withJson($input); ); // DELETE a book with given id $app->delete("/book/", function (Request $request, Response $response, array $args) $sth = $this->db->prepare("DELETE FROM library WHERE id=:id"); $sth->bindParam("id", $args<"id">); $sth->execute(); return $this->response->withJson(); );$app->get("/", function (Request $request, Response $response, array $args) // Sample log message $this->logger->info("Slim-Skeleton "/" route"); // Render index view return $this->renderer->render($response, "index.phtml", $args););Kết luậnTạo và thực hiện REST API cùng với Slyên ổn framework siêu dễ dàng. Ưu điểm lớn số 1 của nó là tính dễ sử dụng với dịu.Hy vọng thông qua nội dung bài viết này, xung quanh các framework thông dụng ra các chúng ta cũng có thể tất cả thêm sự tuyển lựa về Rest API cho những dự án nhỏ tuổi, yêu cầu thời hạn phát triển nkhô giòn là Slyên ổn.Bài viết này cũng chỉ reviews sơ qua về Rest API cùng với Slyên ổn. Vẫn còn không ít lắp thêm không giống của Slyên ổn nữa, bản thân đã thường xuyên reviews về các bản lĩnh khác của framework nhẹ, nhỏ cơ mà "tất cả võ" này ngơi nghỉ những bài tiếp theo sau.Nếu bạn phải hiểu rõ rộng về bài viết này hoặc gồm ngẫu nhiên thắc mắc nào không giống về Slyên Framework, hãy mang lại tôi biết qua phần nhấn xét.

Tham khảo

http://www.slimframework.com/https://www.cloudways.com/blog/simple-rest-api-with-slim-micro-framework/https://coderwall.com/p/otcphg/create-a-json-restfull-api-using-slim-frameworkhttp://scottnelle.com/616/connecting-slim-framework-mysql/https://www.phpflow.com/php/create-simple-rest-api-using-slim-framework/https://arjunphp.com/creating-restful-api-slim-framework/


Chuyên mục: Kiến thức