Public function show($bid)

Một phần của tài liệu Giáo trình Phát triển ứng dụng web: Phần 2 - Lê Đình Thanh, Nguyễn Việt Anh (Trang 112 - 114)

9. {

10. return "Xem thông tin cuốn sách $bid"; 11. } 11. }

WebAppDevLê Đình Thanh, Nguyễn Việt Anh

197

Để ngƣời dùng có thể truy cập các hành động của lớp điều khiển, ứng dụng

cần cung cấp thông tin định tuyến, tức đƣờng dẫn đến hành động. Ví dụ, ngƣời

dùng có thể sử dụng đƣờng dẫn "/books/123" để truy cập hành động show() của BookController nếu ứng dụng khai báo đƣờng dẫn sau:

1. <?php

2. // Tệp routes/web.php 3. ... 3. ...

4. Route::get('/books/{bookId}', 'BookController@show');

Trong nhiều trƣờng hợp, lớp điều khiển có các hành động chuẩn (index, create,

store, show, edit, update, destroy), nguyên mẫu của chúng có thể đƣợc tạo tự động

cùng với tạo lớp điều khiển nhƣ ví dụ sau:

php artisan make:controller BookController –resource

trong đó, tham số -resource đƣợc đƣa v|o cuối c}u lệnh để artisan tạo các hành

động chuẩn cho lớp điều khiển.

Mặt khác, đƣờng dẫn đến các hành động chuẩn có thể đƣợc khai báo gộp nhƣ

sau:

Route::resource(‘/books, ‘BookController’);

Khai báo này sẽ tạo ra nhiều đƣờng dẫn, mỗi đƣờng dẫn đến một hành động

chuẩn của BookController. Các đƣờng dẫn đƣợc tạo cụ thể nhƣ sau:

Phƣơng thức HTTP URI Hành động

GET /books index

GET /books/create create

POST /books store

GET /books/{bookId} show

GET /books/{bookId}/edit edit

PUT/PATCH /books/{bookId} update

DELETE /books/{bookId} destroy

Nói cách khác, khai báo:

Route::resource(‘/books, ‘BookController’);

tƣơng đƣơng với các khai báo sau:

Route::get(‘/books, ‘BookController@index’);

Route::get(‘/books/create’, ‘BookController@create’); Route::post(‘/books, ‘BookController@store’);

WebAppDevLê Đình Thanh, Nguyễn Việt Anh 198 198 Route::get(‘/books/{bookId}/edit’, ‘BookController@edit’); Route::put(‘/books/{bookId}’, ‘BookController@update’); Route::patch(‘/books/{bookId}’, ‘BookController@update’); Route::delete(‘/books/{bookId}’, ‘BookController@delete’);

Nếu cần đọc giá trị của tham số trong yêu cầu HTTP, ví dụ tham số chứa dữ liệu do ngƣời dùng nhập, hàm gọi lại hoặc hành động của bộ điều khiển có thể sử dụng đối tƣợng Request của Laravel. Đối tƣợng này cung cấp một trừu tƣợng bao gói lên yêu cầu HTTP, cho phép truy cập các trƣờng thông tin của yêu cầu HTTP một cách dễ dàng. Ví dụ, trong mã nguồn sau, các hành động store và update của

bộ điều khiển BookController có thể nhận và phân tích đối tƣợng Request để đọc

các giá trị (tiêu đề sách, các tác giả, ...) do ngƣời dùng nhập và thực hiện tạo mới hay cập nhật sách theo giá trị đọc đƣợc.

1. <?php

Một phần của tài liệu Giáo trình Phát triển ứng dụng web: Phần 2 - Lê Đình Thanh, Nguyễn Việt Anh (Trang 112 - 114)

Tải bản đầy đủ (PDF)

(126 trang)